微服务设计的15个常用设计原则

下面是15个微服务设计中常用的15个设计原则,当然并不是设计时所有都要涉及,

可以根据项目场景增加或者删除几项原则。

  1. N+1原则:确保系统发生故障时,至少有一个冗余的实例。
  2. 回滚设计:确保系统可以回滚到以前发布过的任何一个版本。
  3. 禁用设计:确保一些具有高风险的系统功能能够通过开关来禁用,这能为修复时间赢得时间。
  4. 监控设计: 在设计阶段就必须考虑监控,而不是在实施完成之后。监控做的好,将为系统的可扩展性预留空间
  5. 设计多活的数据中心:确保系统可以在地理上隔离灾难和危机
  6. 使用成熟的技术:只用确实好用的技术
  7. 异步设计:只有在确实有必要的情况下才使用同步设计,以增加系统的可扩展性。
  8. 无状态系统:只用在确实有必要的情况下才使用状态,状态耗费资金,降低处理能力、可用性和可扩展性。
  9. 水平开展而非垂直升级:永远不要依赖更大、更快的系统
  10. 设计至少要有两个步骤的前瞻性:在扩展性问题上提前考虑好下一步的行动计划
  11. 非核心的购买:如果不是最擅长的,也提供不了差异化的具有竞争优势的功能,则直接购买。
  12. 使用大规模量产的商品化硬件:只有在确实有必要的情况下才定制硬件。
  13. 小构建,小发布,快试错:不断迭代,让系统不断地成长。
  14. 自动化:设计和构建自动化的过程,如果机器可以做,就不要依赖人。
  15. 隔离故障: 实现故障隔离设计,通过断路保护避免故障传播和交叉影响。

以上原则摘自: 企业级容易云架构开发指南

经验分享 程序员 微信小程序 职场和发展