Announcing High Availability for Render PostgreSQL

Bài tóm tắt Render 2024 2. Tăng trưởng Độ khó: Dễ

Render · 2024 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc

Bài công bố tính năng của nhà cung cấp (Render); ngắn, không có số liệu vận hành. Mọi nhận định là theo Render.

Bối cảnh

  • Render PostgreSQL đã có read replica, backup hằng ngày và point-in-time recovery (PITR). Bài này công bố High Availability (HA) cho gói Pro trở lên.

Thay đổi chính

  • Bật HA thì Render tạo thêm một standby: replicate bất đồng bộ từ primary, trễ không quá vài giây; cùng region và mạng nhưng trên phần cứng tách biệt vật lý; không nhận query.
  • Control plane thấy primary không phản hồi 30 giây thì tự failover: trỏ URL của primary sang standby. Việc đổi mất vài giây; tổng gián đoạn dưới một phút. Instance cũ khoẻ lại thì thành standby mới.
  • Render cũng chủ động failover khi bảo trì, để bảo trì chỉ gây gián đoạn dưới một phút.
  • Bật HA cần restart một lần (vài phút), nên làm ngoài giờ.

Vì sao

  • Theo Render, HA chặn được phần lớn nguyên nhân downtime (node chết, process Postgres crash); PITR lo phần còn lại (lỗi dữ liệu, xoá nhầm).

Bài học cho SWE

  • Replication bất đồng bộ nghĩa là failover có thể mất vài giây dữ liệu (RPO > 0). Bài không nói rõ điều này, nhưng nó là hệ quả trực tiếp của "trễ vài giây" (Failover, replica và dự phòng dữ liệu).
  • Ngưỡng 30 giây là đánh đổi giữa phát hiện nhanh và failover nhầm vì chập chờn.
  • Dùng chính đường failover cho bảo trì định kỳ là cách giữ đường đó luôn được thử.
  • HA (chống mất máy) và backup/PITR (chống mất dữ liệu logic) là hai lớp khác nhau.

Liên quan