Answer the question
In order to leave comments, you need to log in
What is the difference between an enterprise service bus (ESB) and message brokers (like RabbitMQ)?
ESB and message queues. What do they have in common and how do they differ from each other?
For a complete understanding of what is happening, advise the fundamental literature, where the patterns (and implementations) of inter-service interaction are considered in detail.
Answer the question
In order to leave comments, you need to log in
Plain language. ESB helps to connect a bunch of disparate applications into a coherent whole. For example. There is the old ftp, email servers and the new j2ee application. It is necessary, upon arrival of the file to ftp, inform about it by email and, after processing, upload via REST to the j2ee application. The ESB will scan the folder to ftp, notify you by email, parse the file, and push the result over http to j2ee.
Inside the ESB, MQ is usually hidden, but not always.
MQ, in fact, is engaged in smart message delivery, and only by providing a couple of APIs for this.
In other words, ESB doesn't involve injecting new code into old applications, MQ requires all applications to use a consistent API.
ESB is usually an API in a service architecture, it's RPC or REST, but the principle is an atomic call and receiving responses in the form of pieces of data, it's a client-server style dialogue. But MQ is completely different, these are message buses, there is no request-response dialogue at all, and data is exchanged according to the principle of message queues that are distributed between processing channels (used for scaling). In essence, MQ is an implementation of a QS (queuing system), on which you can find a lot of theory and which have long been widely used in the automation of technological processes in production, for transport and transportation, and in other areas. I have not used RabbitMQ, but I can say about ZeroMQ that it is much more than MQ. ZeroMQ is not only an event bus, but also many other data exchange patterns, like request-response, publish-subscribe, etc. Check out the full list of these patterns:zguide.zeromq.org/page:all Various communication configurations can be assembled from them. Message buses and brokers can be used to build an ESB, but as one of the supporting technologies.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question