Chúng tôi có một thiết lập khá đơn giản để sao chép từ cơ sở dữ liệu PostgreQuery chính tại cơ sở của chúng tôi sang tầng trình bày trong AWS. Chúng tôi đang sử dụng vận chuyển WAL bằng cách sử dụng archive_command
cài đặt. Về cơ bản thiết lập trông như thế này:
+-------------+
| Master |
+-------------+
WAL |
segments |
\|/ +--------------+
+-------------+ WAL +-+------------+ |
| |----------->| Hot Standby | |
| S3 | segments | Slaves | |
| | | |-+
+-------------+ +--------------+
Thiết lập này có vẻ khá mạnh mẽ, nhưng tôi không nghĩ ra được cách nào tốt để phát hiện ra các lỗi, hoặc là chủ nhân không đẩy tài liệu lưu trữ lên hoặc nô lệ hoặc nô lệ không lấy được tệp nhật ký. Cách tốt để xác định xem một nô lệ có được cập nhật liên quan đến chủ không? Cách tốt để xác định xem chủ có thất bại trong việc gửi tệp WAL không?
Chỉ cần làm rõ, chúng tôi đang sử dụng nô lệ một cách nghiêm ngặt như đọc bản sao, chúng tôi sẽ không bao giờ chuyển sang chúng.