Tìm kiếm
40 kết quả cho “Client fan-out”. Tìm không phân biệt dấu.
- Realtime và fan-out Chủ đề Thành viên
Một sự kiện (tin nhắn, ảnh, tweet, vote) phải tới rất nhiều người, rất nhanh, qua rất nhiều kết nối mở cùng lúc.
- How WhatsApp enables multi-device capability Bài tóm tắt · WhatsApp · 2021
…đã bật; xem và đăng xuất từ xa các thiết bị đã liên kết. - Client fan-out: chat 1:1 có phiên mã hoá theo từng cặp thiết bị; client gửi mã hoá và truyền tin N lần cho N thiết bị (c…
- Flannel: An Application-Level Edge Cache to Make Slack Scale Bài tóm tắt · Slack · 2017
…nh - Slack thiết kế cho team vài trăm người: khi khởi động, client gọi rtm.start nhận toàn bộ snapshot của team (user, channel, thành viên, tin mới nhất, DM...) rồi mở WebSocket nh…
- Tracing Discord's Elixir Systems (Without Melting Everything) Bài tóm tắt · Discord · 2026
…hành động tới các process "session", mỗi session đẩy xuống client. Một hành động của user là một chuỗi message giữa các process. - Khi một guild không theo kịp hoạt động, on-call…
- Building Pubsub for 50M concurrent socket connections Bài tóm tắt · Disney Hotstar · 2019
…mỗi quả bóng dài ngắn khác nhau), và không được làm hao pin client. - Ba kiểu giao tiếp: fan-out (một nguồn, mọi user cùng nội dung, ưu tiên cao nhất), unicast (mỗi user một topic)…
- FollowFeed: LinkedIn's Feed Made Faster and Smarter Bài tóm tắt · LinkedIn · 2016
…il latency của node chậm nhất: hedged request và giảm tải ở client là phần của thiết kế, không phải tối ưu sau. Liên quan - - (hai năm sau, chính cơ chế retry này suýt gây death sp…
- Maxjourney: Pushing Discord's Limits with a Million+ Online Users in a Single Server Bài tóm tắt · Discord · 2023
…d) là một process Elixir làm điểm định tuyến trung tâm; mỗi client kết nối là một process session. Guild fan-out mọi hành động tới session, session đẩy qua websocket. - Công việc t…
- Pushing Postgres beyond storage: scaling performance at Optiver Bài tóm tắt · Optiver · 2026
…c ghi và lúc thấy. Thay đổi chính - Giữ đường ghi đơn giản: client ghi thẳng vào Postgres bằng transaction thường, không lớp điều phối. Postgres đã có log đầy đủ mọi thay đổi (WAL)…
- Himeji: A Scalable Centralized System for Authorization at Airbnb Bài tóm tắt · Airbnb · 2021
…h dựng tuple từ bản export DB), sinh code Java/Scala, thick client có log, metric và điều khiển rollout migration, UI để debug quyền. Vì sao - Theo Airbnb: trước Himeji, giữ nhất q…
- Infrastructure patterns for agentic applications Bài tóm tắt · Render · 2026
…queue, trả về run ID ngay; worker làm việc; DB ghi tiến độ; client xem trạng thái, subscribe hay nhận callback. Bẫy: queue biết có một job, không biết job thuộc tiến trình logic nà…
- How to Pitch Apache Kafka Bài tóm tắt · Zillow · 2020
…deserialize), Kafka Connect (tích hợp với hệ ngoài AWS). - Client: KPL là daemon C++ khó debug, KCL cần DynamoDB để lưu offset; ở hai công ty gần nhất tác giả đều phải tự viết KPL…
- Mã hoá đầu cuối và hệ thống mà server không được đọc Chủ đề Thành viên
Một hệ thống bình thường giả định server thấy hết dữ liệu: server fan-out tin nhắn, lưu bản sao lưu, đồng bộ thiết bị, thu log để vận hành, chạy model, chống lạm dụng. Khi sản phẩm hứa chính nhà vận hành cũng không đọc…
- Event-driven, message queue và Kafka Chủ đề Thành viên
Khi một hệ có nhiều bên cần biết "có gì vừa xảy ra" (đơn hàng đổi trạng thái, tin đăng được sửa, ticket được cập nhật), gọi đồng bộ từng bên một làm producer phải biết mọi consumer, và một consumer chậm kéo chậm cả…
- Hot partition và thundering herd Chủ đề Thành viên
Chia dữ liệu và tải ra nhiều máy chỉ hiệu quả khi tải chia đều. Thực tế tải lệch: một khách hàng khổng lồ, một kênh có @everyone, một bài của người nổi tiếng. Có hai dạng hay gặp:
- Xác thực và phân quyền (authn/authz) Chủ đề Thành viên
Ở monolith, mỗi dữ liệu thường chỉ có một đường vào, nên kiểm tra quyền nằm ngay đó: một hàm hasaccess?, một API mỗi resource. Khi hệ thống tách thành nhiều service, nhiều client, nhiều loại token, cả hai nửa đều vỡ:
- Hạ tầng tìm kiếm Chủ đề Thành viên
Lúc đầu, tìm kiếm là LIKE trên database hoặc một thư viện (Lucene) nhúng trong app. Khi dữ liệu và tính năng tăng, search thành một hệ có trạng thái riêng, khác database ở mấy điểm:
- Đổi ngôn ngữ và runtime Chủ đề Thành viên
Ngôn ngữ ban đầu được chọn để làm nhanh. Khi lớn lên, nó có thể thành nút thắt về hiệu năng, latency, hoặc tổ chức code. Có ba hướng: tối ưu runtime đang dùng, cải tiến dần, hoặc viết lại có phạm vi.
- Monolith và microservices — đi và quay lại Chủ đề Thành viên
Lúc nào nên tách hệ thống thành nhiều service, và cái giá của việc đó là gì? Các nguồn hiện có cho thấy đây không phải đường một chiều.
- Scale dọc trước khi scale ngang Chủ đề
Thêm máy (scale ngang) kéo theo độ phức tạp phân tán. Bắt mỗi máy làm được nhiều hơn (scale dọc, tối ưu) thì đơn giản hơn, nhưng có trần và dễ thành một điểm hỏng.
- Chi phí hạ tầng và build vs buy Chủ đề Thành viên
Khi còn nhỏ, chi phí hạ tầng là chuyện phụ và cloud là lựa chọn hiển nhiên. Khi lớn lên, hoá đơn có thể chiếm phần lớn giá vốn. Hai câu hỏi xuất hiện: tối ưu chi phí trên nền đang có thế nào, và khi nào nên tự xây (hoặc…
- Hệ thống độ trễ thấp (low latency) Chủ đề Thành viên
Ở sàn giao dịch và công ty market making, mỗi giao dịch làm thay đổi thị trường cho giao dịch sau, và ai phản ứng chậm hơn thì thua. Yêu cầu không chỉ là latency trung bình thấp mà latency ổn định ở đuôi, ở thang micro…
- Tách compute khỏi storage Chủ đề Thành viên
Hệ có trạng thái kiểu cổ điển (database, broker Kafka, fileserver Git) đặt dữ liệu bền trên đĩa của chính máy xử lý. Máy đó vừa là compute vừa là storage, nên:
- WhatsApp Công ty Thành viên
WhatsApp là ca hiếm: blog kỹ thuật gần như chỉ kể hai giai đoạn, và hai giai đoạn ấy giải hai bài khác hẳn nhau. Giai đoạn Erlang (2011–2014) là câu chuyện tối ưu một hệ nhỏ người: năm 2012, một server FreeBSD + Erlang…
- LinkedIn Công ty Thành viên
Bài khung là bài nhìn lại năm 2015 . LinkedIn bắt đầu năm 2003 là một monolith tên Leo. Service đầu tiên tách ra là member graph, vì đồ thị kết nối có profile tải khác hẳn; DB profile được đỡ bằng scale dọc rồi replica…
- The Day Our Own Queries DoS'ed Us: Inside Zalando Search Bài tóm tắt · Zalando · 2025
…ụm xử lý hàng nghìn: quá nhỏ để nổi lên trên dashboard theo client. Query hợp lệ về cú pháp, client nội bộ có thật và không mới, slow query không gắn định danh client. - Cơ chế: te…
- How Postman Engineering handles a million concurrent connections Bài tóm tắt · Postman · 2020
…ng service đầu tiên của Postman: đồng bộ mọi hoạt động trên client với server qua WebSocket theo kiểu pub/sub. Ban đầu chỉ lo giao dịch DB (ví dụ cập nhật collection), dần ôm thêm…
- Using an event-driven architecture to improve Jira Software responsiveness Bài tóm tắt · Atlassian · 2019
…h khác, nên Jira và StreamHub không phải sửa gì . - Đẩy tới client: qua FPS (Frontend PubSub), một lớp trừu tượng trên PubNub, có client lib cho web và mobile nên đổi nhà cung cấp…
- Inside Stream's Real-Time Architecture for Trading & Investing Apps Bài tóm tắt · Stream (GetStream) · 2026
…lần, đọc khoảng 10 ms. - Các lớp cache trước storage: Redis client-side caching trong process API; Ristretto + singleflight chống cache stampede (khoá nóng hết hạn thì một request…
- How Twitter Uses Redis to Scale - 105TB RAM, 39MM QPS, 10,000+ Instances Bài tóm tắt · Twitter · 2014
…ồng thuận (giữ server "đơn giản, ngốc, nhanh"), không làm ở client (gần 100 project, đẩy thay đổi mất hàng năm). Tách đường dữ liệu nhanh khỏi đường điều khiển chậm; proxy stateles…
- Discord Công ty Thành viên
Hiếm có công ty nào kể cùng một bài toán qua 6 năm như Discord. Năm 2015 họ cố ý dùng một replica set MongoDB để ra sản phẩm trong 2 tháng, kèm đường thoát. Họ phân tích workload rồi chuyển sang Cassandra 12 node với…
- How Discord Reduced Websocket Traffic by 40% Bài tóm tắt · Discord · 2024
…discord-reduced-websocket-traffic-by-40-percent) Bối cảnh - Client nhận cập nhật realtime qua service "gateway" (Elixir), nén bằng zlib từ cuối 2017 (nhỏ hơn 2–10 lần). Lần thử zst…
- A Brief History of Scaling LinkedIn Bài tóm tắt · LinkedIn · 2015
…est.li là API REST theo data model, JSON qua HTTP, cho phép client không phải Java; D2 (Dynamic Discovery) làm load balancing phía client và service discovery. Năm 2015 có hơn 975…
- Service Architecture at SoundCloud — Part 1: Backends for Frontends Bài tóm tắt · SoundCloud · 2021
…013: khai sinh pattern BFF (backend-for-frontend): mỗi loại client có một API gateway riêng, tối ưu cho đúng nhu cầu của nó. - Hiện trạng 2021: - vài chục BFF (Mobile API cho Andro…
- WhatsApp calls: Enhancing security and privacy Bài tóm tắt · WhatsApp · 2023
…: nhiều giao thức phức tạp (WebRTC, PJSIP có nhiều CVE), và client thường tự xử lý gói tin đến để thiết lập cuộc gọi nhanh hơn, nên lỗ hổng có thể bị khai thác "zero-click", nạn nh…
- HRTWorker: A SharedWorker Framework Bài tóm tắt · Hudson River Trading · 2025
…logic trong một class duy nhất; class đó khởi tạo ở chế độ client trong GUI hoặc oracle trong SharedWorker. Ở client, lời gọi được proxy sang instance oracle. - Ba phần: quản lý k…
- Scaling Cache Infrastructure at Pinterest Bài tóm tắt · Pinterest · 2020
…và giảm dung lượng cần cho các backend đắt. - Lịch sử phía client: routing/discovery lúc đầu nằm trong thư viện client (dễ vỡ, gắn với việc deploy binary) → một proxy tự xây (thiế…
- Riot Games Công ty Thành viên
Chat League of Legends (2015): cụm Erlang theo region, mỗi node tự trị, bảng định tuyến nhân bản trong Mnesia và tự lành sau netsplit; viết lại 10% phần nóng bằng C . Kho dữ liệu chuyển từ MySQL (chỉ scale dọc, SPOF,…
- Chat Service Architecture: Servers Bài tóm tắt · Riot Games · 2015
…1 (giao thức XMPP) wiki bỏ qua vì chủ yếu về giao thức phía client. Phần 3 (lưu trữ): . Bối cảnh - Chat LoL (2015): mỗi ngày thường định tuyến khoảng 1 tỷ event (presence, message,…
- Atlassian Công ty Thành viên
Atlassian lên AWS năm 2016. Tenant Context Service (ánh xạ tenant → vị trí, gọi nhiều lần trong mỗi request) được tối ưu qua bốn bài học "không có phép màu": DynamoDB, load balancer, cache, client . Cùng năm 2019, nền…
- Now You See Me, Now You Don't: LinkedIn's Real-Time Presence Platform Bài tóm tắt · LinkedIn · 2018
…rm dựng năm trước cho tin nhắn: pub/sub đẩy từ server xuống client qua kết nối bền. Có kết nối nghĩa là online; người xem subscribe topic presence của người kia. Thay đổi chính - C…