How Upstash Monitors Uptime: Every Replica, Every Minute, From Everywhere

Bài tóm tắt Upstash 2026 3. Quy mô lớn Độ khó: Dễ

Upstash · 2026 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc

Bài của nhà cung cấp; mô tả cách họ tự giám sát dịch vụ của mình, nhận định ghi "theo Upstash".

Bối cảnh

  • Upstash Redis đa tenant, nhiều zone: mỗi database có ít nhất hai replica; mất một replica thì bầu replica khác (Upstash 2026). Theo Upstash, khách báo sự cố trước monitoring thì tính là hai lỗi: sự cố và lỗ hổng giám sát (lỗ hổng cũng có postmortem riêng).

Thay đổi chính

  • Giám sát từng replica, không chỉ từng database: cơ chế failover che lỗi một replica nên khách và check theo endpoint đều không thấy, trong khi độ dự phòng đã giảm và lỗi tiếp theo không còn vô hại. Luật: mất một replica là sự cố, page on-call dù không ai thấy.
  • Check đơn giản nhất: Redis của Upstash có HTTP, nên check là HTTPS /ping tới từng replica. Dùng Checkly, mọi check định nghĩa trong Terraform (vài trăm block, mỗi replica một block): không có gì trong công cụ giám sát mà không có trong git.
  • Chạy mỗi phút từ 18 địa điểm trên nhiều châu lục; lỗi thì thử lại sau một khoảng ngắn rồi mới báo. Tách chậm (quá 5 giây: degraded) khỏi chết (quá 10 giây: fail). Vector và Search không chỉ ping mà upsert rồi query, vì với index "sống" nghĩa là trả lời được truy vấn.
  • Cảnh báo: Opsgenie page on-call khi fail; Slack nhận fail và phục hồi; kênh riêng cho degraded (cần người xem nhưng không đáng đánh thức). Sự cố chỉ đóng khi check bên ngoài xanh lại từ cả 18 điểm, không phải khi dashboard nội bộ đẹp; hai bên mâu thuẫn thì bên ngoài thắng.
  • Benchmark latency liên tục mỗi replica, chạy ở cụm ECS riêng ngoài cụm Redis: đường page thứ hai độc lập với Checkly, cảnh báo khi latency lệch, và dashboard lịch sử bắt hồi quy chậm (bản phát hành mới, noisy neighbor). Sau failover phải chờ latency về nền mới coi là xong.
  • QStash: check bằng chính sản phẩm. Publish một message thật, đích là heartbeat của Opsgenie. Publish lỗi thì Checkly đỏ; publish được mà không giao thì heartbeat im lặng và page. Cảnh báo cho biết nửa nào của luồng hỏng.

Bài học cho SWE

  • Dự phòng không được kiểm chứng thì không phải dự phòng: phải giám sát từng bản sao, vì failover tự động che mất việc mất bản sao (Failover, replica và dự phòng dữ liệu).
  • Định nghĩa "xong sự cố" bằng góc nhìn khách hàng (check bên ngoài + latency về nền), và tách chậm khỏi chết (Sự cố và postmortem).
  • Monitoring as code giữ cho số check khớp với số tài nguyên khi fleet lớn lên.

Liên quan