Tôi đã làm việc trong lần khởi động [đầu tiên] của tôi trong một tháng, và trong khi đó có lẽ ít nhất là một tháng nữa so với bản phát hành alpha, tôi muốn biết cách triển khai đúng cách. Trang web sẽ có số lượng tải ban đầu cao (mạng + CPU) cho người dùng mới, vì vậy tôi đang nghĩ đến việc có một máy chủ/hàng đợi riêng cho quá trình ban đầu này, do đó nó không làm chậm trang web cho người dùng hiện tại.Làm cách nào để triển khai trang web [Ruby on Rails] theo cách có thể mở rộng?
Dựa trên nghiên cứu của tôi cho đến nay, tôi hiện đang hướng tới nginx + haproxy + unicorn/thin + memcached + mysql và triển khai trên Linode. Tuy nhiên, tôi không có kinh nghiệm trước đây trong bất kỳ điều nào ở trên; do đó tôi hy vọng sẽ khai thác trải nghiệm của cộng đồng.
- Kiến trúc trên có vẻ hợp lý không? Bất kỳ đề xuất/bài viết/sách mà bạn muốn giới thiệu?
- Linode có phải là lựa chọn tốt không? Heroku/EY có vẻ quá đắt đối với tôi (ít nhất là cho đến khi tôi có đủ doanh thu), nhưng tôi có thiếu lựa chọn nào khác tốt hơn không? MediaTemple?
- Bất kỳ đề xuất tốt nào về cấu trúc cân bằng tải? Tôi vẫn đang đọc về điều này.
- Tốt hơn là có 2 trường hợp máy chủ Rails riêng biệt trên 2 dòng mã riêng biệt hoặc chạy 1 thể hiện trên một dòng công suất hai lần (về RAM/lưu trữ/băng thông)? Tôi nên bắt đầu với bao nhiêu Linodes?
- Tôi nên chọn loại phân phối Linux nào? (Linode cung cấp 8 cái khác nhau - http://www.linode.com/faq.cfm) Có bất kỳ lợi thế/nhược điểm tương đối nào giữa chúng cho một trang Rails không?
Tôi xin lỗi nếu có bất kỳ câu hỏi nào của tôi là ngu ngốc hoặc mâu thuẫn; xin vui lòng ghi nó vào sự thiếu kinh nghiệm của tôi.
Cảm ơn câu trả lời chi tiết của bạn. Một vài câu hỏi tiếp theo cho bạn: - (1) Tôi đang sử dụng Ruby 1.9.2. REE vẫn có lợi thế trong trường hợp đó? (2) Lợi thế của hành khách cung cấp trên Thin là gì? –
Hành khách tự động quản lý cụm quy trình của bạn. Với mỏng, bạn phải quản lý từng phần phụ trợ theo cách thủ công. Hành khách cũng tận dụng chức năng sao chép-ghi-ghi của REE để chia sẻ bộ nhớ khung trên các phiên bản phụ trợ, giúp bạn tiết kiệm RAM. Nó cũng khá đơn giản để cài đặt và cấu hình. –