Problem: How to provide a distributed, scalable, and disaster resistant pub / sub service with WCF.
Details:
Please note that this approach is being considered in addition to messaging / middleware solutions such as Tibco EMS.
I am looking at WCF, especially how it can be used to create pub / sub. This article is very good on this topic: WCF pub-sub .
In the article, the author tries to solve the problem of having multiple publishers (as, for example, with a service level scaled in several blocks). The problem is that if client A registers with publisher A and publisher B wants to publish the event, then publisher B will not know about client A. i.e. no one has told publisher B that client A wanted to receive notification of events. The author offers pub / sub service as a solution. The pub / sub service will centrally store subscriptions. However, if I wanted pub / auxiliary services resilience to be stable if you have a secondary / double pub / auxiliary service, I have the same original problem.
So, I think there are several solutions to the problem:
- Store subscriber data in a distributed cache (see questions: q1 and q2 ).
- Save subscriber data in the database / central file system.
Can anyone think of any other solutions (i.e. I haven't missed some fantastic WCF magic feature?) Any comments are appreciated.
c # architecture wcf disaster-recovery
ng5000
source share