Still very new to studying application architecture and having trouble stomaching some ideas in a book about microservices. In my readings, I have come across the older idea of the ESBs(Enterprise Service Bus) and its role in coordinating messages between new services and legacy applications. ESBs are touted as a solution to problems poised by point-to-point integration. Microservices seem to be the approach taken by newer companies as the de facto standard to creating an agile, scalable, and resilient app. But aren't microservices using point-to-point integration? Each node in an application built from microservices is communicating directly with other nodes, right? I feel I am connecting some dots that shouldn't be connected. Any help much appreciated, thanks in advance.
ESBs are solutions that have been implemented in many companies to ensure application interoperability and traceability. However, they are heavy solutions that do not allow to scale horizontally, usually the ESBs adopt a configuration of two nodes, active-active or active-passive.
On the other hand, services in ESB are not usually deployed individually but in deployment packages alongside other services, making delivery management and testing more complicated.
Microservices are designed to be developed and deployed individually, and so that within a cloud infrastructure can easily scale horizontally increasing the number of instances dynamically.
Interoperability between applications has moved into the background at present, as today's communication by web services is virtually commonplace, although some middleware that solves connectivity may still be needed in some very old infrastructures.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With