2013-11-15 18 views
5

Microsoft Exchange ha introdotto Streaming notifiche come alternativa per tirare/notifiche push con Exchange 2010. Introduzione di base sullo streaming può essere trovato su questo msdn article e blogEWS: Streaming notifiche push vs notifcations

Tuttavia, Non riesco a capire il reale vantaggio dello streaming sulle notifiche push. L'unico vantaggio menzionato nel blog è "..e non è necessario creare un'applicazione listener come per le notifiche push". A parte questo, ci sono altri vantaggi e svantaggi? In che modo altri fattori, come la gestione dell'abbonamento, la logica di ri-iscrizione, la scalabilità, il numero massimo di abbonamenti, ecc., Si confrontano con il push? Inoltre, l'abbonamento Streaming ha un tempo di vita massimo di 30 minuti e dovrei ri-iscrivermi ogni 30 minuti? Non è uno svantaggio per un numero elevato di abbonamenti (la mia applicazione deve gestire 20K + caselle di posta)?

Qualsiasi luce sui fattori di confronto sarebbe utile.

risposta

4

Il motivo principale per Streaming Notifications (SN) è Exchange Online. Non è possibile impostare EOL per aprire una connessione HTTP a un'applicazione potenzialmente protetta da un firewall. Anche all'interno di una rete aziendale ci sono problemi con il firewall. Ho avuto diversi casi in cui la mia app non ha potuto ricevere le notifiche push (PN) a causa del firewall sul proprio server.

Sulla superficie SN sembra anche essere più efficiente perché ogni notifica non apre la propria connessione TCP, ma piuttosto scorre su una singola tubazione. Dopo aver fatto alcuni Wiresharking su questo, non sono davvero convinto che sia così perché sembra che sotto le coperte stiano facendo Polling Lungo, quindi ogni notifica in arrivo causerà una nuova chiamata HTTP a Exchange.

Il massimo di 30 minuti non è un grosso problema, basta riaprire la connessione nel gestore e il gioco è fatto - non è necessario registrarsi di nuovo. In effetti, sono dell'opinione che voglio abbassare ancora di più per dire 3 minuti. A quanto pare non è possibile aggiungere nuovi abbonamenti o rimuovere quelli vecchi se non all'interno del gestore di disconnessione. (Provalo e ottieni errori.)

E sì, non è necessario codificare un gestore HTTP, il che è carino, credo.

+0

Ho scoperto la riapertura = parte di iscrizione, ma ancora grazie per la conferma. Non sono del tutto d'accordo sul fatto che lo streaming sia efficiente solo perché non apre una nuova connessione TCP. Non mantiene ancora una connessione per un lungo periodo, rispetto al push in cui una connessione viene aperta solo su un evento? Se ciò è vero, il monitoraggio delle cassette postali 20K + continuerà a richiedere connessioni 20K + aperte TCP? Se il firewall è l'unica preoccupazione per andare con SN, sarei incline a utilizzare Push per il mio caso. – Andy

+0

Bene, il trucco consiste nel raggruppare abbonamenti in gruppi di massimo 200 su ciascuna connessione, quindi i tuoi MB da 20 KB richiederebbero solo 100 connessioni. (Ovviamente il supporto di 20 KB è molto più di un semplice server che è in grado di gestire.) Il raggruppamento avviene tramite l'URL EWS, con alcune informazioni di raggruppamento in E2013, che funzionano solo in EOL adesso ... Ma sto divagando. Hai ragione che la connessione rimane aperta per un tempo "lungo". – pjneary