2011-08-24 38 views
5

Tôi đang khởi chạy lại một trang web (~ 5mm + lượt truy cập mỗi ngày) trên EC2 và bị nhầm lẫn về cách triển khai các nút trong các trung tâm dữ liệu khác nhau. Thiết lập cơ bản nhất của tôi là hai nút phía sau máy chủ Varnish.Các phương pháp hay nhất để sử dụng các vùng sẵn có EC2 là gì?

Tôi có nên có hai phiên bản Varnish trong các vùng khả dụng khác nhau, mỗi vùng có nút WWW nói chuyện với cơ sở dữ liệu RDS được chia sẻ không? Mỗi trường hợp Varnish có thể được cân bằng tải w/cân bằng tải của Amazon.

Cái gì như:

1 cân bằng tải nói chuyện với:

  • Varnish tại Virginia, mà nói chuyện với nó của riêng chúng tôi đông-x nút
  • Varnish ở California, mà nói chuyện với riêng của mình các nút us-west-x

Triển khai trong nhiều trung tâm dữ liệu là một khái niệm mới cho tôi, vì vậy mọi trợ giúp đều được đánh giá cao! Cảm ơn!

Trả lời

7

Chúng tôi sử dụng amazon EC2 rộng rãi để cân bằng tải và khả năng chịu lỗi. Trong khi chúng tôi vẫn không sử dụng rộng rãi LoadBalancers do Amazon cung cấp, chúng tôi có các cân bằng tải riêng (chạy bên ngoài Amazon). Amazon hứa hẹn rằng các LoadBalancer sẽ không bao giờ đi xuống, chúng có khả năng chịu lỗi nội bộ, nhưng tôi đã thử nghiệm đủ tốt.

Nói chung, chúng tôi lưu trữ hai trường hợp trên mỗi vùng khả dụng. Một hành động như một máy chủ phản chiếu đến máy chủ thực. Nếu trong trường hợp một trong các máy chủ bị hỏng, chúng tôi sẽ gửi khách hàng đến một máy chủ khác. Nhưng gần đây Amazon đã cho thấy một mô hình mà một khu vực sẵn có đi xuống khá thường xuyên.

Vì vậy, kỹ thuật khôn ngoan tôi đoán là thiết lập máy chủ trên các vùng có sẵn như bạn đã đề cập. Chúng tôi sử dụng postgres như vậy, chúng tôi có thể sao chép nội dung trong cơ sở dữ liệu trên các trường hợp. Với 9,0 có nhân rộng nhị phân hoạt động tốt cho hai cách nhân rộng. Bằng cách này, cả hai máy chủ có thể lấy tải khi lên nhưng khi một vùng sẵn sàng đi xuống tất cả người dùng được gửi đến một máy chủ. Vì cơ sở dữ liệu phổ biến có sẵn, không quan trọng người dùng truy cập vào đâu. Chỉ cần họ sẽ trải qua một chút chậm chạp, nếu họ đi đến máy chủ sai.

Với phương pháp này, bạn có thể cập nhật song song các trang web. Cập nhật một đảm bảo rằng nó đang chạy tốt và sau đó cập nhật tiếp theo. Vì vậy, ngay cả khi máy chủ thất bại trong việc nâng cấp toàn bộ trang web luôn luôn lên.

+0

làm thế nào để bạn gửi khách hàng đến các máy chủ khác khi một vùng khả dụng giảm? – Carson

+0

Cân bằng tải tùy chỉnh của chúng tôi sẽ thực hiện kiểm tra tải từ máy chủ mỗi phút. Chúng tôi sử dụng url của tên miền phụ cho khách hàng trực tiếp. Vì vậy, nếu một cụm là xuống, chúng tôi gửi cho họ một url tên miền phụ khác nhau. Bộ cân bằng tải amazon hoạt động như một lớp trừu tượng và nội bộ định tuyến một yêu cầu http đến máy chủ. Nó kiểm tra tính khả dụng sau mỗi 10 giây bằng cách yêu cầu một trang web từ máy chủ của bạn. Bạn chỉ có thể đặt một blank.html. Nếu cá thể xuống thì amazon sẽ không gửi bất kỳ yêu cầu nào đến máy chủ này. – arunmur

Các vấn đề liên quan