2013-11-15 23 views
5

Microsoft Exchange giới thiệu streaming thông báo như một sự thay thế để kéo/đẩy thông báo với Exchange 2010. Giới thiệu cơ bản về luồng có thể được tìm thấy trên này msdn articleblogEWS: Truyền Thông báo vs Đẩy Notifcations

Tuy nhiên, tôi không thể hình dung ra lợi thế thực sự của việc truyền trực tuyến qua các thông báo đẩy. Lợi thế duy nhất được đề cập trong blog là "..và bạn không phải tạo ứng dụng nghe như đối với thông báo đẩy". Ngoài ra, có bất kỳ ưu điểm và nhược điểm nào khác không? Các yếu tố khác như quản lý đăng ký, logic đăng ký lại, khả năng mở rộng, số lượng đăng ký tối đa, v.v ... so với khi đẩy? Ngoài ra, đăng ký Streaming có thời gian hoạt động tối đa là 30 phút và tôi sẽ phải đăng ký lại sau mỗi 30 phút? Không phải là một bất lợi cho một số lượng lớn các đăng ký (ứng dụng của tôi có để quản lý 20K + hộp thư)?

Mọi ánh sáng trên các yếu tố so sánh sẽ hữu ích.

Trả lời

4

Lý do chính cho Thông báo phát trực tuyến (SNs) là Exchange Online. Bạn không thể có EOL mở một kết nối HTTP đến một ứng dụng có khả năng đằng sau tường lửa. Ngay cả trong một mạng công ty cũng có các vấn đề về tường lửa. Tôi đã có một số trường hợp mà ứng dụng của tôi không thể nhận được thông báo đẩy (PNs) vì tường lửa trên máy chủ của riêng mình.

Trên bề mặt, SNS cũng có vẻ hiệu quả hơn vì mỗi thông báo không mở kết nối TCP của riêng nó, nhưng thay vào đó chúng chạy trên một đường ống đơn. Sau khi thực hiện một số Wiresharking về điều này, tôi không thực sự thuyết phục điều này là như vậy bởi vì nó có vẻ như dưới bìa họ đang làm Long Polling, do đó, mỗi thông báo sắp tới sẽ gây ra một cuộc gọi HTTP mới trở lại Exchange.

Tối đa 30 phút không phải là vấn đề lớn, chỉ cần mở lại kết nối trong trình xử lý và bạn đã hoàn tất - bạn không phải thực sự đăng ký lại. Trong thực tế, tôi có ý kiến ​​rằng tôi muốn hạ thấp hơn nữa để nói 3 phút. Bạn dường như không thể thêm đăng ký mới hoặc xóa các đăng ký cũ ngoại trừ trong trình xử lý ngắt kết nối. (Hãy thử nó, và bạn nhận được lỗi.)

Và có, bạn không phải mã một trình xử lý HTTP, điều này thật tuyệt.

+0

Tôi đã tìm ra phần reopen = resubscribe nhưng vẫn cảm ơn bạn đã xác nhận. Tôi không hoàn toàn đồng ý rằng Streaming là hiệu quả chỉ coz nó không mở ra một kết nối TCP mới. Không phải nó vẫn giữ kết nối trong một thời gian dài, so với đẩy nơi kết nối chỉ được mở trên một sự kiện? Nếu điều này là đúng, sẽ giám sát 20K + hộp thư liên tục, yêu cầu 20K + mở kết nối TCP? Nếu tường lửa là mối quan tâm duy nhất để đi với SN, tôi sẽ có xu hướng sử dụng Push cho trường hợp của tôi. – Andy

+0

Bí quyết là đăng ký hàng loạt thành các nhóm tối đa 200 trên mỗi kết nối, do đó, 20K MB của bạn sẽ chỉ cần 100 kết nối. Grouping là thông qua URL EWS, với một số thông tin nhóm thêm vào E2013, mà chỉ hoạt động trong EOL ngay bây giờ ... Nhưng tôi digress. Bạn nói đúng rằng kết nối vẫn mở trong một thời gian "dài". – pjneary