目录
  1. 1. 架构设计原则
  2. 2. 架构设计实践
    1. 2.1. 开发
    2. 2.2. 运行
    3. 2.3. 运维自动化

架构是不断思考衡量的产物。好的架构设计需要适应当前环境,并且尽量兼顾可能的未来。

架构设计原则

除了业务需求这个大前提,有些前人总结的原则有助于我们不偏离重点:

  • DRY - Don’t Repeat Yourself
  • KISS - Keep It Simple, Stupid
  • S.O.L.I.D原则 - 面向对象五大原则
  • 好莱坞原则
  • 高内聚, 低耦合
  • 惯例优于配置原则
  • 关注点分离

架构设计实践

以下列举我偏向的架构实现方式

开发

  • 任何项目依赖都需要能够管理
  • 组件化、模块化、服务化
  • 前后端分离, 后端无状态

运行

  • 支持从单机到分布式、集群化部署的切换
  • 支持灾备,热备,内置异常检测
  • 提前埋点,监控问题

运维自动化

人工干预越少问题越少

  • 开发、测试、正式环境统一化、自动化。可选工具如: docker、fabric、ansible、ci工具(jenkins)
  • 尽量保持运行和开发环境一致,提早发现问题。
  • app等上线/上市场过程自动化