Problem: dostarczenie rozproszonego, skalowalnego i odpornego na awarie serwisu pub/sub z funkcją WCF.WCF Pub/Sub z buforowaniem subskrybentów
Szczegóły:
Należy zauważyć, że takie podejście jest rozważane oprócz rozwiązań powiadamianie/middleware, takich jak Tibco EMS.
Zajmuję się WCF, w szczególności w jaki sposób może być stosowany do oferowania pub/sub. Na ten temat artykuł ten jest bardzo dobry: WCF pub-sub.
W artykule autor stara się rozwiązać problem posiadania wielu wydawców (tak jak w przypadku warstwy usługowej skalowanej na kilka pól). Problem polega na tym, że jeśli klient A rejestruje się z Wydawcą A, ale Wydawca B chce opublikować wydarzenie, wówczas wydawca B nie będzie wiedział o kliencie A. Oznacza to, że nikt nie powiedział wydawcy B, że klient A chciał zostać powiadomiony o zdarzeniach. Autor sugeruje rozwiązanie pub/sub jako rozwiązanie. Usługa pub/sub będzie centralnie przechowywać subskrypcje. Jednakże, jeśli chciałbym uczynić system pub/sub service odpornym na awarie przez posiadanie drugiego/podwójnego serwisu pub/sub, to mam ten sam pierwotny problem.
Tak, myślę, że istnieje kilka rozwiązań tego problemu:
- dane abonenckie Przechowywać w rozproszonej pamięci podręcznej (patrz pytania: q1 i q2).
- Przechowuj szczegóły subskrybenta w bazie danych/centralnym systemie plików.
ktoś może myśleć o jakichkolwiek innych rozwiązań (tzn ja nie zostały pominięte niektóre fantastyczne magiczną cechę WCF?) Wszelkie uwagi mile widziane.