Microservices Flashcards
What are 6 Microservice design principles?
1) High Cohesion
2) Autonomous
3) Business Domain Centric
4) Resilience
5) Observable
6) Automation
What does High Cohesion mean?
1) Has a single focus / responsibility (e.g. calculating postage / accounts)
2) Only change for one reason
3) Reason represent Business Domain or Business Function.
4) Small code base
What does Autonomous mean?
1) Loose coupling - Should not change because of another service or client it interacts with changes
2) Honor contracts and services - inputs and outputs should not change
3) Stateless
4) Independently changeable
5) Independently deployable
6) Backward compatible
7) Concurrent development
What does Business Domain Centric mean?
1) Based around domain driven design