常用架构原则
在系统概要和系统方案阶段,可参考的原则,落地过程中还是要结合业务场景灵活应用。
- N+1设计。永远不要少于2个,通常为3个。-> 部署实例,拜春哥不挂掉。
- 回滚设计。发布失败和故障,回滚至指定时点的版本。
- 禁用设计。现在大多都通过服务配置和sidebar等来做,关闭指定功能和场景。
- 监控设计。这个…敲黑板的重点。
- 设计多活数据中心。机房内数据冗余、机柜冗余,进阶到的多数据中心或者同城多活。
- 使用成熟的技术。struts的棺材板压不住了。
- 异步设计。这个现在已经是主流设计了,前端、后端都有很多方案。
- 无状态设计。客户端策略、缓存、消息等的重点应用环节。
- 水平扩展非垂直升级。在应用中选择水平扩展的策略很重要,比如用户ID。
- 一定的前瞻性设计。为扩展性考虑。
- 非核心则购买。关注业务重点。
- 使用商品化硬件。这个几乎是行业共识了,专业事专业做。
- 小构建、小发布、快试错。敏捷开发表示有话要说。
- 隔离故障。熔断get
- 自动化。设计、构建自动化->低代码平台、测试自动化、压测自动化。