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.