Principles of high availability architecture design
- observable
- Can be gray
- Can be rolled back
Design principles for improving architectural usability
- The decoupling
- redundant
- heterogeneous
- asynchronous
Principles of microservice design
Principle 1: Integrity
- Functional integrity: the internal logic of the function is independent, with less external dependence.
- Microservice integrity: Each microservice in the service should be able to independently complete specific business operations or processes, with clear input, output and processing logic.
Principle two: Technical limitations
- Functions that require transaction consistency need to be placed within a microservice to avoid distributed transaction issues as much as possible.
Principle 3: Performance scaling
- Functions that are frequently used by users and have high performance requirements can be used as microservices to improve performance for multi-node expansion.
Principle four: Coupling
- Try to avoid mutual call dependence between microservices and microservices. The interface can be called remotely through RPC, and functions with high correlation should be placed in the same microservice.
- Features for public use can be designed in a public microservice. Such as logging, file uploading, and some underlying technical components, can be designed in a microservice.