2012-02-13 35 views
7

Tôi đang đánh giá bằng cách sử dụng SignalR trong ứng dụng được lưu trữ tại AppHarbor chạy trên hơn 2 trường hợp (công nhân web) nhưng đọc xung quanh có vẻ như không hoạt động: SignalR wiki trang trại vẫn đang trong giai đoạn phát triển (và hơn 2 công nhân web giống như trang trại trên web). Another question here on StackOverflow nói rằng nó sẽ không hoạt động trên nhiều máy chủ iss. Ở phía bên kia, trên trang web hỗ trợ AppHarbor they say nó hoạt động tuyệt vời mà không đưa ra nhiều thông tin (không trả lời tất cả các câu hỏi như # kết nối đồng thời, giới hạn cân bằng tải vv).SignalR trên AppHarbor với nhiều phiên bản

Ai đó có thể xác nhận nếu SignalR là con đường chính xác để đi trên AppHarbor không?

Cảm ơn!

Trả lời

9

David Fowler đang làm việc trên kho lưu trữ thư Redis cho SignalR. Các code is on Github và tôi tin rằng đó là những gì sẽ cho phép các ứng dụng SignalR quy mô cho nhiều trường hợp AppHarbor.

+1

Đúng vậy. Có lẽ chúng ta sẽ xem xét các giải pháp sử dụng các công nghệ khác, nhưng đây là một ví dụ về JabbR chạy trên redis (sử dụng một nút ngay bây giờ). Ứng dụng này sẽ có thể mở rộng trên các nút. http://jabbr-redis.apphb.com/ – davidfowl

+0

Tôi tưởng tượng rằng Redis được sử dụng để lưu trữ thư, phải không? SignalR thường lưu trữ ở đâu? Trong hệ thống tệp cục bộ (rõ ràng là bị xóa bởi appharbor ở mỗi triển khai)? Một phần để xóa khi triển khai sẽ không hoạt động với hệ thống tệp cục bộ? Mỗi công nhân web có riêng hay chỉ có một hệ thống tệp cho ứng dụng? – Pietro

+2

SignalR thường lưu trữ mọi thứ trong bộ nhớ. Việc triển khai hiện tại sử dụng redis như một bus thông báo thuần túy, không lưu trữ tin nhắn. Các thông điệp được nhân rộng đến mỗi nút khi chúng đến. Những gì cần phải được thêm vào là một số dung sai lỗi để khi một nút mới xuất hiện hoặc một nút bị hỏng, nó sẽ lưu lại bộ đệm của nó từ redis hoặc bất cứ nơi nào chúng ta quyết định đệm thư. – davidfowl

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