Edition 0 Updated to asp. Net core 0



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə124/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   120   121   122   123   124   125   126   127   ...   288
NET-Microservices-Architecture-for-Containerized-NET-Applications

Observer pattern 
In the 
Observer pattern
, your primary object (known as the Observable) notifies other interested 
objects (known as Observers) with relevant information (events). 
Publish/Subscribe (Pub/Sub) pattern 
The purpose of the 
Publish/Subscribe pattern
 is the same as the Observer pattern: you want to notify 
other services when certain events take place. But there is an important difference between the 
Observer and Pub/Sub patterns. In the observer pattern, the broadcast is performed directly from the 
observable to the obs
ervers, so they “know” each other. But when using a Pub/Sub pattern, there is a 
third component, called broker, or message broker or event bus, which is known by both the 
publisher and subscriber. Therefore, when using the Pub/Sub pattern the publisher and the 
subscribers are precisely decoupled thanks to the mentioned event bus or message broker. 
The middleman or event bus 
How do you achieve anonymity between publisher and subscriber? An easy way is let a middleman 
take care of all the communication. An event bus is one such middleman. 
An event bus is typically composed of two parts: 

The abstraction or interface. 

One or more implementations. 


137 
CHAPTER 5 | Designing and Developing Multi-Container and Microservice-Based .NET Applications 
In Figure 6-19 you can see how, from an application point of view, the event bus is nothing more than 
a Pub/Sub channel. The way you implement this asynchronous communication can vary. It can have 
multiple implementations so that you can swap between them, depending on the environment 
requirements (for example, production versus development environments). 
In Figure 6-20, you can see an abstraction of an event bus with multiple implementations based on 
infrastructure messaging technologies like RabbitMQ, Azure Service Bus, or another event/message 
broker. 
Figure 6- 20. Multiple implementations of an event bus 
It’s good to have the event bus defined through an interface so it can be implemented with several 
technologies, like RabbitMQ, Azure Service bus or others. However, and as mentioned previously, 
using your own abstractions (the event bus interface) is good only if you need basic event bus 
features supported by your abstractions. If you need richer service bus features, you should probably 
use the API and abstractions provided by your preferred commercial service bus instead of your own 
abstractions. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   120   121   122   123   124   125   126   127   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin