Microservice architecture pattern language (categories of pattern classification)
- Infrastructure related
- deploy
- Containers and k8s are now mainstream
- Mainly consider dynamic deployment issues
- service discovery
- Communication related
- How to get the IP address of a specific instance of a service, or the http request address?
- External API
- Communication related
- How does the client (such as the front end) communicate with the service, API gateway?
- deploy
- application infrastructure
- border issues
- Base framework, such as the company's integrated gin framework and odp framework, can quickly create new services
- safety
- Authentication, completed in API Gateway, user information is passed to the service
- Common solutions
- Access token mode (such as JWT)
- transactional messages
- Communication related
- Data update and message synchronization, how to make it happen at the same time and fail at the same time
- communication style
- Communication related
- Which type of inter-process communication is used, rpc, http, mq?
- reliability
- If a service is unavailable, how to ensure reliable communication between services?
- Observability
- For example, service status, interface log link, server load status
- border issues
- Application related
- break down
- database
- Inquire
- The data of the service can only be accessed through the API and cannot be queried against the service database.
- Because another service may use other db, such as mangodb
- ClassicCQRS
- Using es to construct query views is a good way
- The data of the service can only be accessed through the API and cannot be queried against the service database.
- Maintain data consistency
- Why use saga instead of 2pc?
- test
- Understood as QA testing platform, automated testing, etc.