=======================
part 1 - notes on wikipedia
=======================
summary
Microservices is a software architecture style in which complex applications are composed of small, independent processescommunicating with each other using language-agnostic APIs.
These services are small building blocks, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building.
One of concepts which integrates microservices as a software architecture style is dew computing.
properties
- The services are easy to replace
- Services are organized around capabilities, e.g., user interface front-end, recommendation, logistics, billing, etc.
- Services can be implemented using different programming languages, databases, hardware and software environment, depending on what fits best
- Architectures are symmetrical rather than hierarchical (producer - consumer)
philosophy
Philosophy of microservices architecture essentially equals the Unix philosophy of "Do one thing and do it well". It is described as follows:
- The services are small - fine-grained to perform a single function.
- The organization culture should embrace automation of deploymentand testing. This eases the burden on management and operations.
- The culture and design principles should embrace failure and faults, similar to anti-fragile systems.
- Each service is elastic, resilient, composable, minimal, and complete.
criticism
-
services form information barriers
-
the architecture introduces additional complexity and new problems to deal with, such as network latency, message formats, load balancing and fault tolerance,
ignoring one of these belongs to the "fallacies of distributed computing" -
testing and deployment are more complicated
-
the complexity of a monolithic application is only shifted into the network, but persists:
You can move it about but it's still there!
============================
part 2 - notes on fowler's article
============================
basically comparing with monolithic services
impact on orgnization
x
- smart endpoints and dumb pipes
- ** decentralized governance**
- decentralized data management (fig. 3)
x
网友评论