Nếu bạn đang lưu trữ cụm MongoDB của mình trong Amazon AWS khu vực Đông Mỹ, thì tháng trước khá thú vị - hai lần ngừng hoạt động trong bốn tuần đã kiểm tra mức độ sẵn sàng hoạt động của đám mây của bạn triển khai. Khi tôi nhập bài đăng trên blog này, khu vực Sao Paulo cũng đang gặp sự cố kết nối. Một số lượng đáng ngạc nhiên các cơ sở dữ liệu sản xuất đã không tồn tại được sau khi AWS ngừng hoạt động. Chúng tôi đã có cơ hội nói chuyện với một số khách hàng của MongoDB trên AWS để hiểu việc ngừng hoạt động ảnh hưởng như thế nào đến việc triển khai của họ. Tôi đã thực hiện một cuộc khảo sát nhanh về các cá nhân bị ảnh hưởng và đây là bốn lý do chính khiến các nhóm gặp phải thời gian chết:
-
Chạy một bản sao độc lập so với một tập hợp bản sao
Nếu bạn đang chạy máy chủ MongoDB sản xuất, thực sự không có lý do gì để chạy một bản sao độc lập so với một tập hợp bản sao. Tạo một tập hợp bản sao để bạn có thể có một tập hợp thứ cấp để chuyển đổi dự phòng trong trường hợp lỗi chính.
-
Không phân phối các bản sao trên các vùng khả dụng
Đảm bảo rằng bạn phân phối các bản sao của mình trên các vùng khả dụng khác nhau trong một khu vực. Bằng cách này, nếu một AZ duy nhất gặp sự cố, như đã xảy ra hai lần trong tháng này, các máy chủ còn lại của bạn sẽ tiếp quản và bạn sẽ có một cụm hoạt động. Nếu khu vực của bạn chỉ có hai AZ, hãy đặt trọng tài của bạn ở một khu vực khác. Tuy nhiên, điều này sẽ không giúp bạn nếu toàn bộ khu vực đi xuống. Nếu bạn muốn tồn tại trong toàn bộ sự cố khu vực AWS, bạn sẽ cần phải phân phối tập hợp bản sao của mình trên các khu vực khác nhau.
-
Không phân phối giao diện người dùng hoặc máy chủ ứng dụng của bạn trên các vùng khả dụng
Đảm bảo rằng bạn phân phối giao diện người dùng của mình trên các vùng khả dụng khác nhau. Không có ích gì khi cơ sở dữ liệu của bạn được thiết lập và chạy nếu giao diện người dùng của bạn gặp sự cố. Nếu bạn gặp vấn đề về chi phí, bạn có thể cập nhật giao diện người dùng ‘đã dừng’ ở từng AZ mà bạn có thể bật trong trường hợp cần thiết. Một tùy chọn khác là có giao diện người dùng có kích thước nhỏ hơn.
-
Kết nối với tập hợp bản sao so với một máy chủ duy nhất trong chuỗi kết nối của bạn
Đảm bảo rằng bạn kết nối với tập hợp bản sao thay vì một máy chủ duy nhất. Cú pháp khác nhau đối với các trình điều khiển khác nhau, nhưng hãy kiểm tra tài liệu trình điều khiển của bạn để đảm bảo bạn đang sử dụng đúng cú pháp để kết nối với tập hợp bản sao thay vì một máy chủ duy nhất. Bằng cách này, nếu có chuyển đổi dự phòng, trình điều khiển MongoDB sẽ thực hiện đúng và kết nối với trình điều khiển chính mới.
Tại ScaleGrid, chúng tôi tự động hóa tất cả các khía cạnh hoạt động trong quá trình triển khai của bạn để bạn có thể tập trung vào ứng dụng của mình và không phải lo lắng về hoạt động. Khi bạn tạo một tập hợp bản sao MongoDB với ScaleGrid, chúng tôi sẽ tự động phân phối bản sao trên các vùng khả dụng. Do sự phân phối này, tất cả khách hàng của chúng tôi đã có thể giải quyết vấn đề thời gian ngừng hoạt động của AWS một cách an toàn. Nếu bạn quan tâm đến bài đọc chi tiết hơn về các khía cạnh hoạt động của MongoDB, bạn có thể đọc bài đăng trên blog chi tiết trước đó của tôi - 10 câu hỏi để hỏi và trả lời khi lưu trữ MongoDB trên AWS