微服务设计的15个常用设计原则
下面是15个微服务设计中常用的15个设计原则,当然并不是设计时所有都要涉及,
可以根据项目场景增加或者删除几项原则。
- N+1原则:确保系统发生故障时,至少有一个冗余的实例。
- 回滚设计:确保系统可以回滚到以前发布过的任何一个版本。
- 禁用设计:确保一些具有高风险的系统功能能够通过开关来禁用,这能为修复时间赢得时间。
- 监控设计: 在设计阶段就必须考虑监控,而不是在实施完成之后。监控做的好,将为系统的可扩展性预留空间
- 设计多活的数据中心:确保系统可以在地理上隔离灾难和危机
- 使用成熟的技术:只用确实好用的技术
- 异步设计:只有在确实有必要的情况下才使用同步设计,以增加系统的可扩展性。
- 无状态系统:只用在确实有必要的情况下才使用状态,状态耗费资金,降低处理能力、可用性和可扩展性。
- 水平开展而非垂直升级:永远不要依赖更大、更快的系统
- 设计至少要有两个步骤的前瞻性:在扩展性问题上提前考虑好下一步的行动计划
- 非核心的购买:如果不是最擅长的,也提供不了差异化的具有竞争优势的功能,则直接购买。
- 使用大规模量产的商品化硬件:只有在确实有必要的情况下才定制硬件。
- 小构建,小发布,快试错:不断迭代,让系统不断地成长。
- 自动化:设计和构建自动化的过程,如果机器可以做,就不要依赖人。
- 隔离故障: 实现故障隔离设计,通过断路保护避免故障传播和交叉影响。
以上原则摘自: 企业级容易云架构开发指南
下一篇:
Spring中Bean的作用域、生命周期