高可用架构设计的原则
- 可观测
- 可灰度
- 可回滚
提高架构可用性的设计原则
- 解耦
- 冗余
- 异构
- 异步
微服务设计原则
原则一:完整性
- 功能完整性:功能内部逻辑独立,外部依赖较少。
- 微服务完整性:服务里面的每个微服务都应能独立完成具体的业务操作或者流程,都有明确的输入、输出和处理逻辑。
原则二:技术限制
- 需要使用事务一致性的功能需要放在一个微服务内,尽量避免分布式事务问题。
原则三:性能扩展
- 对于用户使用频率较高,性能要求较高的功能可单独作为一个微服务,以便做多节点扩展提升性能。
原则四:耦合性
- 微服务和微服务之间尽量避免相互调用依赖。可以通过 RPC 远程调用接口的方式,对于关联性较高的功能,应放在同一个微服务内。
- 公共使用的功能可设计在一个公共微服务。比如日志功能,文件上传功能以及一些底层技术组件等,可设计在一个微服务中。