Tôi đã lên kế hoạch triển khai Meteor cho các máy chủ Amazon AWS EC2 của mình nhưng tôi cũng muốn chạy nhiều phiên bản của máy chủ cùng một lúc để phục vụ nhiều khách hàng hơn. Có cách nào thích hợp để làm điều này trong Meteor mà không phá vỡ khả năng cho khách hàng cập nhật về các bản cập nhật cho bộ sưu tập của họ không?Chạy sao băng trong một cụm và thay đổi thời gian thực
Trả lời
Có hai vấn đề chính cần xem xét khi chạy nhiều quy trình máy chủ Meteor.
Mối quan hệ phiên khách hàng. Khách hàng sử dụng thư viện SockJS để kết nối lại với máy chủ Meteor, thường là bằng cách sử dụng một chiến lược bỏ phiếu dài kết nối lại với máy chủ thường xuyên. Quá trình máy chủ giữ trạng thái được kết hợp với từng máy khách. Vì vậy, điều quan trọng là một kết nối của khách hàng nhất định không bị trả lại giữa các máy chủ, nếu không máy chủ sẽ nghĩ rằng nó đang nói chuyện với một khách hàng mới và gửi lại tất cả trạng thái đăng ký.
Phối hợp vô hiệu hóa cơ sở dữ liệu. Bất cứ lúc nào một khách hàng phát hành một cơ sở dữ liệu viết, quá trình máy chủ chạy một tính toán lại và đẩy cập nhật cho bất kỳ khách hàng bị ảnh hưởng khác. Nhưng các máy khách kết nối với một máy chủ khác sẽ không thấy thay đổi cho đến khi quá trình máy chủ đó chạy vòng lặp vòng lặp Mongo thứ 10. Đối với một số ứng dụng, có thể có hầu hết các ứng dụng bị trễ 10 giây. Nếu ứng dụng của bạn yêu cầu một cái gì đó thời gian thực hơn, thì bạn sẽ phải thực hiện giao tiếp giữa các tiến trình của máy chủ Meteor.
Guys đây là những gì bạn nên nhìn vào
Meteor Cụm - https://github.com/arunoda/meteor-cluster
Tôi viết blog về vấn đề này ở đây quá: http://goo.gl/2aHJ2
- 1. Thay đổi Font trong thời gian chạy
- 2. Thay đổi hướng trong thời gian chạy
- 3. Thay đổi App.config tại Thời gian chạy
- 4. Thay đổi menu tại thời gian chạy
- 5. Thay đổi kích cỡ một THREE.CubeGeometry tại thời gian chạy
- 6. Thay đổi thời gian thực trên iPhone
- 7. Thay đổi Cài đặt ứng dụng trong thời gian chạy
- 8. Android - Thay đổi bố cục đoạn trong thời gian chạy
- 9. Tùy chỉnh Dải băng PowerPoint lúc Chạy-Thời gian
- 10. Thay đổi ngôn ngữ cho NSLocalizedString() trong thời gian chạy
- 11. Cách thay đổi vị trí trang tại thời gian chạy
- 12. Tại sao cụm từ thông dụng có thể có thời gian chạy theo hàm mũ?
- 13. Thay đổi tên thông số trong C# có thay đổi phá vỡ thời gian chạy không?
- 14. Cách thay đổi Spring's @Scheduled fixedDelay tại thời gian chạy
- 15. Sử dụng một khoảng thời gian thay đổi trong một khoảng thời gian trong Postgres
- 16. Thay đổi và áp dụng theme trong thời gian chạy trong Android
- 17. WPF: Cách thay đổi CurrentUICulture tại thời gian chạy
- 18. Thay đổi thuộc tính log4j tại thời gian chạy
- 19. WPF + PRISM Cách thay đổi vùng tại thời gian chạy
- 20. thay đổi Vị trí nhãn tại thời gian chạy
- 21. Spring 3.0 - Thời gian chờ thay đổi thời gian chạy của @Transactional
- 22. Thay đổi bản đồ thực thể sang bảng "không xác định" khác tại thời gian chạy
- 23. Thay đổi lược đồ cơ sở dữ liệu khuôn khổ thực thể tại thời gian chạy
- 24. Thay đổi các biến trong thời gian thực khi gỡ lỗi trong nhật thực?
- 25. Tại sao tôi không thể thay đổi biến long_query_time biến tại thời gian chạy
- 26. Cách thay đổi thời gian trong DateTime?
- 27. Thay đổi dấu thời gian của một sửa đổi SVN
- 28. Thay đổi các đối số mặc định của một hàm R trong thời gian chạy
- 29. Tạo một lớp trong thời gian chạy
- 30. Tại sao thay đổi tên cột mất một thời gian rất dài với một data.frame lớn?
xem câu trả lời của tôi dưới đây cho invalidations cơ sở dữ liệu ** Phối hợp * * với [sao băng-cụm] (https://github.com/arunoda/meteor-cluster) –
Bạn có thể xác nhận rằng (2) không còn là vấn đề đăng bản phát hành 0.7.0 sử dụng taillog oplog? – Doug