Enterprise Service Bus or ESB is one of the architectural patterns where a centralized software element performs integrations between applications. It is responsible for data model transformation, connectivity handling, message routing, communication protocol conversion, and multiple request composition management. All these integrations and made which are followed by transformations of the service interface so that it can be reused by a new application.
Some common examples of ESB are Azure Service Bus, IBM App Connect, Apache Camel, Fuse ESB, etc. Theoretically, a centralized ESB can standardize and simplify communication, messaging, and integration between services across the system. However, in some of the systems, it may be seen as a bottleneck.
Advantages of ESB
Using ESB facilitates developers to upgrade new technologies into one part of an application without disturbing the other parts. As a result, it improves productivity.
Since the elements of the system can be scaled independently in the ESB pattern, it is more cost-effective based on scalability.
If an element fails in the system, others are not affected. Each microservice can look for its availability requirements without disrupting the other elements.
Disadvantages of ESB
A single point of failure can hamper communication entirely.
Maintenance Complexity
High Configuration
Since ESB is centrally managed, it makes cross-team collaboration challenging.
When you make changes to one integration, it could destabilize others using the same integration.
Any update to the ESB impacts the existing integrations which means significant testing is required to perform any update.
pragyaasapkota / System-Design-Concepts
Though the concepts of system design might be tricky, let's see them individually to their core concepts and have a better understanding.
System Design
Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.
This is a index for the concepts of system.
If you wish to open these in a new tab, Press CTRL+click
S.N. | Table of Content |
---|---|
1. | Caching |
2. | Network Protocols |
3. | Storage: The Underrated Topic |
4. | Latency and Throughput |
5. | System Availability |
6. | Leader Election |
7. | Proxies |
8. | Load Balancing |
9. | Endpoint Protection |
10. | HTTPS: Is it better than HTTP? |
11. | Polling and Streaming |
12. | Long Polling |
13. | Hashing |
14. | CAP Theorem |
15. | PACELC Theorem |
16. | Messaging and Pub-Sub |
17. | Database |
18. | Logging, Monitoring, and Alerting |
19. | Distributed System |
20. | Scaling |
21. | Event Driven Architecture (EDA) |
22. | CQRS |
23. | Message Queue |
24. | Architectural Patterns |
Thank you!!!
I hope this article was helpful to you.
Please don’t forget to follow me!!!
Any kind of feedback or comment is welcome!!!
Thank you for your time and support!!!!
Keep Reading!! Keep Learning!!!
Top comments (0)