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