https://mp.weixin.qq.com/s/WAa4ezth4CGwyjJD7FcP6w
软件开发原则
- 剔除无效状态
- 数据一致性让系统更简单
- 数据设计先行
- 杀鸡不要用牛刀
- 避免为了局部简单性而增加全局复杂性
- 识别内在的复杂性
- 使用的技术越少,系统就越简单
- 集中精力学习概念,而不是技术
- 代码一致性很重要
- 分享原则很重要
架构设计原则
- N+1设计:保证每个组件都应该做到没有单点故障
- 回滚设计:确保系统可以向前兼容,在出现故障的时候能够快速下线
- 禁用设计:在设计阶段就要考虑监控手段
- 多活数据中心设计:若系统要极高的可用性,应考虑在多地实施数据中心进行多活,至少在一个机房断点的情况下系统依旧可用
- 采用成熟的技术
- 架构应能水平扩展:才能有效避免瓶颈问题
- 非核心则购买
- 使用商业硬件
- 快速迭代
- 无状态设计