Tôi thích những câu hỏi này vì chúng luôn có vẻ đơn giản để trả lời khi thực tế là không.
Để bắt đầu, BIGGEST SPF của bạn là mọi thứ đều có trên Amazon. Tôi yêu AWS vì nhiều lý do, nhưng trong mọi tình huống mà bạn cần sự sẵn có thực sự, bạn chủ yếu tự bắn mình bằng cách dựa vào chúng 100%. Vì vậy, kế hoạch đầu tiên của bạn nên là phân phối dịch vụ của bạn cho hơn 1 nhà cung cấp (đám mây, VPS hoặc chuyên dụng).
Tôi muốn hỏi bạn một câu hỏi: nếu AWS đi xuống, bạn có thể chú ý và sau đó làm điều gì đó và bạn cần các dịch vụ của mình để sao lưu và chạy nhanh trong bao lâu ? Lý do tôi hỏi là: DNS cân bằng tải của A/AAAA hồ sơ là một giải pháp tuyệt vời, tiếc là bạn không thể thiết lập trọng lượng hoặc ưu tiên như bạn có thể với các bản ghi SRV/MX. Điều này có nghĩa là nếu AWS hoàn toàn không khả dụng, bạn sẽ phải thực hiện thay đổi DNS thật nhanh chóng để xóa IP. Điều đó CÓ THỂ được tự động nếu nhà cung cấp DNS của bạn có API cho phép điều đó. Mặt khác, DNS caching được thực hiện ở rất nhiều nơi có thể không đáng để thay đổi DNS, nghĩa là bạn sẽ có sẵn từ 50% đến 100% nếu 1 IP không khả dụng (giả sử bạn có 2 bản ghi A), bởi vì một số trình duyệt có thể thử IP thứ hai nếu số 1 không hoạt động.
Theo tôi, xem xét thời gian hoạt động tuyệt vời của AWS, bạn sẽ không có lỗi khi chỉ định 2 IP khác nhau (trên 2 nhà cung cấp khác nhau) cho miền của bạn. Tôi nghĩ rằng nó tốt hơn là có sẵn 0% khi 1 IP bị hỏng, nhưng vẫn không có niềm vui khi mất 50% yêu cầu của bạn.
Bạn có thể có 2 bộ cân bằng tải trên mỗi nhà cung cấp và cho phép chúng chuyển tiếp yêu cầu tới nhà cung cấp khác nếu các trường hợp/máy chủ nhất định bị hỏng. Nói cách khác, bạn chỉ cần các chức năng cân bằng tải tại các nhà cung cấp BOTH và các máy chủ/trường hợp chức năng tại nhà cung cấp ONE. Đảm bảo chọn nhà cung cấp thay thế không có quá nhiều thời gian chờ AWS;)
MMM cũng là một công cụ tuyệt vời, nhưng nó không liên quan đến Rails theo bất kỳ cách nào. Cá nhân tôi thích đặt cân bằng tải ở phía trước tất cả các máy chủ cơ sở dữ liệu của mình và cho phép họ xử lý những người nhận yêu cầu, v.v. Vì dữ liệu trên máy chủ cơ sở dữ liệu rất quan trọng, nên tốt hơn là hãy xem xét và đảm bảo mọi thứ đều ổn khi có vấn đề, trái ngược với việc cho phép một công cụ quản lý tính khả dụng, cấu hình, vv .. MMM hoạt động trong nhiều tình huống, có lẽ bạn nên thử nó và xem nó có đáp ứng nhu cầu của bạn hay không. Tôi không thể nói bất cứ điều gì xấu về nó.
Tôi hoàn toàn không quen thuộc với máy chủ phương tiện Wowza, nhưng tìm kiếm nhanh đã giải thích một vài điều. Vì Wowza sử dụng RTSP (UDP và TCP), HAProxy là NOT một giải pháp vì nó chỉ thực hiện TCP. Mặt khác, mặt khác có thể thực hiện cân bằng tải UDP (nó sử dụng IVPS/LVS). Trong thực tế, Keepalived cũng nên được sử dụng để cân bằng tải nô lệ cơ sở dữ liệu của bạn nếu bạn có các truy vấn dài.
Một lưu ý cuối cùng, có rất nhiều cách để "cuộn" các dịch vụ giống như AWS của bạn như bộ nhớ S3. Nếu bạn muốn tránh có SPF nhưng vẫn cần chức năng giống như các dịch vụ AWS, bạn nên xem xét việc chạy các biến thể nguồn mở, chẳng hạn như Eucalyptus/Cloud.com/Openstack/GlusterFS. Có rất nhiều công việc liên quan đến việc thiết lập tất cả những thứ đó, nhưng bạn sẽ hạnh phúc vào ngày bạn có thể nói: "vì vậy nếu nhà cung cấp X bị hỏng, Y có thể tiếp quản".
Tôi hoàn toàn đồng ý với bạn về ** AWS ** là ** ** SPF lớn nhất, vì vậy chúng tôi không phụ thuộc vào nội dung AWS cụ thể. Lược đồ hiện tại của chúng tôi là nền tảng bất khả tri. Nếu AWS giảm xuống, tôi có thể thiết lập cùng một môi trường trong 3 giờ và 8-12hours để tìm nạp nội dung phương tiện từ bản sao lưu. – Anatoly
Tôi tự hỏi làm thế nào Github xử lý chuyển đổi dự phòng? Tôi có thể đọc trong [blog] (https://github.com/blog/493-github-is-moving-to-rackspace) _On Rackspace, mọi phần của cơ sở hạ tầng của chúng tôi đều sẽ chuyển đổi dự phòng. Điều đó có nghĩa là hai máy chủ cơ sở dữ liệu, bốn máy chủ web, hai phiên bản GitHub Pages, hai cá thể Máy chủ Gem, hai phiên bản Lưu trữ Tải xuống, phân phối các trình chạy Công việc, ba cặp máy chủ tệp và nhiều hơn nữa._ – Anatoly
Tôi không hiểu ý kiến của bạn về DB scaling _Personally Tôi thích đặt một bộ cân bằng tải trước tất cả các máy chủ cơ sở dữ liệu của tôi và cho phép họ xử lý những người nhận được request_. Dù sao nó có thể là một SPF quá. – Anatoly