Microservices architecture¶
Microservices architecture is a specific implementation of the [[Service-Oriented Architecture (SOA)]] philosophy, specifically adhering to a decentralized approach.^[600-developer__principle__SOA-ESB-MicroService.md]
Core Philosophy¶
Microservices architecture falls under the umbrella of SOA, which is characterized by distributed computing where services are loosely coupled, encapsulated, and interact via defined service contracts.^[600-developer__principle__SOA-ESB-MicroService.md] While SOA is a conceptual framework that does not mandate a specific implementation style, Microservices represent the "decentralized" realization of this concept.^[600-developer__principle__SOA-ESB-MicroService.md]
This decentralized approach is primarily driven by a requirement for extensibility (scalability), contrasting with centralized implementations like the Enterprise Service Bus (ESB).^[600-developer__principle__SOA-ESB-MicroService.md]
Implementation and Frameworks¶
Because Microservices architecture is decentralized, it relies on distributed service frameworks to handle backend service governance.^[600-developer__principle__SOA-ESB-MicroService.md]
Common frameworks used to implement this architecture include:
- Dubbox
- Spring Cloud
- HSF (High-speed Framework, noted as a best practice by Alibaba)^[600-developer__principle__SOA-ESB-MicroService.md]
These frameworks are often combined with technologies like Docker and Kubernetes to manage the complex lifecycle of distributed services.^[100-inbox-microservices-with-node-js-and-react.md]
Common Patterns¶
Microservices architectures typically employ specific patterns to handle communication and data management between independent services:
- Event Bus / Event Broker: Services communicate through events rather than direct REST calls in some implementations, decoupling the services further.^[100-inbox-microservices-with-node-js-and-react.md]
- Streaming Servers: Technologies like NATS Streaming Server are often used to manage event communication between services in complex applications, such as E-commerce platforms.^[100-inbox-microservices-with-node-js-and-react.md]
Related Concepts¶
- [[Service-Oriented Architecture (SOA)]]
- [[Enterprise Service Bus (ESB)]]
- [[Software Architecture]]
Sources¶
100-inbox-microservices-with-node-js-and-react.md600-developer__principle__SOA-ESB-MicroService.md