Edition 0 Updated to asp. Net core 0


NServiceBus https://particular.net/nservicebus   • MassTransit



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

NServiceBus
https://particular.net/nservicebus
 

MassTransit
https://masstransit-project.com/
 
Implementing an event bus with RabbitMQ for the 
development or test environment 
We should start by saying that if you create your custom event bus based on 
RabbitMQ
 running in a 
container, as the eShopOnContainers application does, it should be used only for your development 
and test environments. Don’t use it for your production environment, unless you are building it as a 
part of a production-ready service bus as described in the 
Additional resources section below
. A 
simple custom event bus might be missing many production-ready critical features that a commercial 
service bus has. 
One of the event bus custom implementations in eShopOnContainers is basically a library using the 
RabbitMQ API. (There’s another implementation based on Azure Service Bus.)
The event bus implementation with RabbitMQ lets microservices subscribe to events, publish events
and receive events, as shown in Figure 6-21. 


139 
CHAPTER 5 | Designing and Developing Multi-Container and Microservice-Based .NET Applications 
Figure 6-21. RabbitMQ implementation of an event bus 
RabbitMQ functions as an intermediary between message publisher and subscribers, to handle 
distribution. In the code, the EventBusRabbitMQ class implements the generic IEventBus interface. 
This implementation is based on Dependency Injection so that you can swap from this dev/test 
version to a production version. 
public
class
EventBusRabbitMQ : IEventBus, IDisposable 

// Implementation using RabbitMQ API
//...

The RabbitMQ implementation of a sample dev/test event bus is boilerplate code. It has to handle the 
connection to the RabbitMQ server and provide code for publishing a message event to the queues. It 
also has to implement a dictionary of collections of integration event handlers for each event type
these event types can have a different instantiation and different subscriptions for each receiver 
microservice, as shown in Figure 6-21. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   122   123   124   125   126   127   128   129   ...   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