Tìm kiếm
40 kết quả cho “EBS”. Tìm không phân biệt dấu.
- Kubernetes 1.31: Streaming Transitions from SPDY to WebSockets Bài tóm tắt · Kubernetes (CNCF) · 2024
…khó: Dễ — [bài gốc](https://kubernetes.io/blog/2024/08/20/websockets-transition/) Bài ngắn thông báo thay đổi của dự án; ít số liệu. Bối cảnh - Một số endpoint của API server ( ex…
- Migrating Millions of Concurrent Websockets to Envoy Bài tóm tắt · Slack · 2021
…https://slack.engineering/migrating-millions-of-concurrent-websockets-to-envoy/) Bối cảnh - Hàng triệu user kết nối đồng thời lúc cao điểm, gửi nhau rất nhiều tin nhắn nhỏ qua webs…
- How Discord Reduced Websocket Traffic by 40% Bài tóm tắt · Discord · 2024
…h — [bài gốc](https://discord.com/blog/how-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…
- How We Improved Website Performance by Evolving Our Infrastructure Bài tóm tắt · Wix · 2021
…[bài gốc](https://www.wix.engineering/post/how-we-improved-website-performance-by-evolving-our-infrastructure) Bối cảnh - Wix phục vụ hàng triệu site , nhiều site làm từ lâu và khô…
- Real-time Distributed Tracing for Website Performance and Efficiency Optimizations Bài tóm tắt · LinkedIn · 2015
…stributed-service-call-graph/real-time-distributed-tracing-website-performance-and-efficiency) Bài mô tả công cụ nội bộ inCapacity; các con số latency trong bài là giá trị minh hoạ…
- Deployment of etcd on AWS EC2 Bài tóm tắt · etcd · 2017
…tcd v3 đủ rẻ (vài phút) để chạy thường xuyên và đẩy lên S3; EBS là block device qua mạng, vòng đời tách khỏi máy EC2, tách ra và snapshot độc lập được, nên một etcd một node trên E…
- When The Cloud Gets Dark — How Amazon's Outage Affected Airbnb Bài tóm tắt · Airbnb · 2011
…AWS. Sự cố us-east tháng 4/2011: mạng ở hai AZ mất kết nối, EBS tự re-mirror nhưng không đủ capacity dự phòng, volume EBS treo hoặc I/O cực chậm. Thay đổi chính (diễn biến) - Tổng…
- How Postman Engineering handles a million concurrent connections Bài tóm tắt · Postman · 2020
…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 việc thông báo cho mọi…
- 6 Event-Driven Architecture Patterns — Part 1 Bài tóm tắt · Wix · 2020
…- ví dụ import danh bạ: trình duyệt subscribe vào service websocket với một channel-Id, gửi CSV kèm channel-Id tới jobs service, nhận response rỗng ngay; - jobs service đẩy job lê…
- How we moved our Food Feed from Redis to Cassandra Bài tóm tắt · Zomato · 2016
…hải rollback trong vài giờ. Vài ngày sau tìm ra thủ phạm là EBS : ổ mạng chia băng thông 10 Gbit với traffic mạng của instance. Chuyển sang ổ đĩa cục bộ của instance thì ổn. - Depl…
- Analysis of recent downtime & what we're doing to prevent future incidents Bài tóm tắt · Asana · 2019
…hiệu năng kém do quy trình failover. - Sự cố 2 : lỗi volume EBS gây latency khoảng 1 phút → đồng thời tăng vọt, timeout, tràn hàng đợi; failover thành công nhưng DB mới cũng quá tả…
- Netflix Billing Migration to AWS — Part III Bài tóm tắt · Netflix · 2016
…nên so mẫu bằng công cụ bên thứ ba; dựng môi trường test từ EBS snapshot của replica nhiều lần; chạy cùng Sqoop/ETL báo cáo trên cả hai DB theo cửa sổ thời gian; đếm dòng sau khi t…
- Flannel: An Application-Level Edge Cache to Make Slack Scale Bài tóm tắt · Slack · 2017
…am (user, channel, thành viên, tin mới nhất, DM...) rồi mở WebSocket nhận event real-time. - Với team hàng chục nghìn người: kết nối lâu, client tốn bộ nhớ, mỗi lần kết nối lại đắt…
- The WhatsApp Architecture Facebook Bought For $19 Billion Bài tóm tắt · WhatsApp · 2014
…Erlang mỗi giây. - Server gần như toàn bộ là Erlang trên FreeBSD , có patch riêng cho BEAM (máy ảo Erlang); máy phục vụ user là 2 CPU Westmere 6 nhân (24 CPU logic), 100 GB RAM, SS…
- On WordPress Scaling and Performance, The Zillow Way Bài tóm tắt · Zillow · 2012
…ring/wordpress-scaling/) Bối cảnh - Sản phẩm Premier Agent Websites (website cho môi giới) dựng trên lõi WordPress, tự host, chỉ dùng tối thiểu plugin ngoài vì lý do bảo mật; mục t…
- Federated GraphQL Server at Scale: Zillow Rental Manager Real-time Chat Application Bài tóm tắt · Zillow · 2019
…(người thuê). - Satellite API cung cấp dữ liệu và chạy một websocket service phát tin nhắn của người dùng lẫn tin hệ thống (các mốc trong quá trình thuê). - Một server GraphQL (exp…
- Reliable load testing with regards to unexpected nuances Bài tóm tắt · Miro · 2020
…liệu rác. - Bộ sinh tải: JMeter + Taurus; công việc trong WebSocket của board phải tự viết, nên họ nhúng chính client thật (chỉ giữ phần giao tiếp client-server, ít đổi) vào JMete…
- How WhatsApp Grew to Nearly 500 Million Users, 11,000 cores, and 70 Million Messages a Second Bài tóm tắt · WhatsApp · 2014
…u user mỗi kỹ sư. - Stack: Erlang R16B01 có patch riêng, FreeBSD 9.2, Mnesia, Yaws; bare metal thuê ở SoftLayer, cấu hình hai data center. - Khoảng 550 server cộng máy dự phòng: ~1…
- From Native to React Native to Flutter Bài tóm tắt · Zerodha · 2022
…ndroid tầm trung, cập nhật giá cổ phiếu (tick nhị phân qua WebSocket nhiều lần mỗi giây) qua setState và reconcile của React không mượt; đã giảm phạm vi render xuống Text , shouldC…
- 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.
- Migration không downtime Chủ đề Thành viên
Hệ thống đang chạy thật (gọi xe, chat, thiết kế) không được dừng, nhưng phải đổi ngôn ngữ, database hoặc hạ tầng bên dưới.
- 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:
- Độ tin cậy và multi-region Chủ đề Thành viên
Thay đổi kiến trúc lớn thường không đến từ kế hoạch mà từ một sự cố đau đớn. Khi đã chạy nhiều vùng, nhiều giả định của hệ thống một vùng không còn đúng.
- Kiến trúc frontend Chủ đề Thành viên
Frontend bắt đầu là vài trang render ở server; lớn lên thành ứng dụng có trạng thái, nhiều team cùng sửa, và mỗi tính năng thêm vào là thêm byte phải tải. Ba trục lặp lại trong các nguồn: render ở đâu (server, client,…
- 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.
- Cache và invalidation Chủ đề Thành viên
Cache là cách rẻ nhất để một DB chịu được lượng đọc tăng nhiều lần. Vì vậy nó xuất hiện ngay từ giai đoạn đầu (Instagram 2011, Facebook 2004–2010). Cái giá đến sau, và lặp lại ở hầu hết các nguồn:
- 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…
- Deploy và release an toàn Chủ đề Thành viên
Phần lớn sự cố bắt đầu bằng một thay đổi: code mới, cấu hình mới, hạ tầng mới. Khi hệ thống và tổ chức lớn lên, câu hỏi là làm sao đưa thay đổi lên production thường xuyên mà vẫn giới hạn được thiệt hại khi có lỗi.
- 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ả…
- Sự cố và postmortem Chủ đề Thành viên
Nhiều bước ngoặt kiến trúc trong wiki bắt đầu từ một sự cố: Netflix lên cloud sau 3 ngày không gửi được DVD, Twitter viết lại hệ thống sau World Cup 2010, Instagram đi nhiều data center sau trận bão 2012. Trang này gom…
- Batching và khấu hao round-trip Chủ đề Thành viên
Nhiều nút thắt không nằm ở việc mỗi thao tác tốn bao nhiêu công, mà ở chi phí cố định trả cho mỗi thao tác: một round-trip mạng, một lần fsync, một PUT lên object storage, một syscall, một transaction. Khi chi phí cố…
- Chọn database theo workload Chủ đề Thành viên
Không có database tốt nhất, chỉ có database hợp với mẫu đọc/ghi ở một quy mô cụ thể. Mẫu đó thay đổi khi sản phẩm lớn lên. Ngoài ra, chuyên môn vận hành của đội cũng là một phần của "workload".
- Đổ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.
- Failover, replica và dự phòng dữ liệu Chủ đề Thành viên
Mọi hệ có trạng thái đều giữ nhiều bản (replica) để một máy chết không làm mất dịch vụ. Khó không nằm ở việc có bản sao mà ở lúc chuyển sang bản sao:
- 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:
- Load shedding, rate limit và backpressure Chủ đề Thành viên
Mọi hệ đều có lúc nhận nhiều việc hơn sức làm: spike của người dùng, client nội bộ có bug, dependency chậm đi, retry dồn lại. Theo Discord, khi chạm giới hạn năng lực thì đó là bài toán kinh tế: hoặc tăng cung (thêm…
- 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…
- Multi-tenancy và cô lập tenant Chủ đề Thành viên
Một hệ phục vụ nhiều khách (tenant: workspace, shop, organization, account, service nội bộ) trên cùng hạ tầng thì rẻ và dễ vận hành, vì tài nguyên được dùng chung. Cái giá là bốn câu hỏi đi theo hệ suốt đời:
- Nền tảng nội bộ cho service (đường ray chung) Chủ đề Thành viên
Tách hệ thống thành nhiều phần (service, hoặc component trong một monolith) giải được bài toán tổ chức. Nhưng nếu mỗi team tự làm RPC, retry, log, metric, contract theo cách riêng, thì ta chỉ đổi một kiểu hỗn loạn lấy…
- Sharding và tách database Chủ đề Thành viên
Một database quan hệ duy nhất là điểm khởi đầu của hầu hết sản phẩm. Đến một lúc nó không chịu nổi lượng ghi, dữ liệu không còn vừa một máy, hoặc một sự cố ở DB đó làm sập mọi tính năng.