原则:
大道致简
强标准、统一标准
强流程、弱依赖、
职责单一、分层
高可用、分布式、快速响应
用户体验(cache\替代文件)、用户影响最小原则
有损服务原则
整版本发布优势
- 回溯任意版本
- 原子操作更新
- 方便依赖处理
- 快速更新无线上影响
- 强流程、禁止线上直接修改单文件
- 确保预发布环境、线上环境代码一致
- 发布、回滚逻辑简单清晰
- 大道致简、抽象模型中,单文件发布不能替代整版本发布
架构思考&讨论:
任何节点、任何服务、皆有宕机可能
CAP理论
用户体验、升级维护页面展示
领域模型切分
依赖必不可少、强依赖转弱依赖
api依赖、优于目录依赖,前者部署更加灵活
base.gaodun.com(上外网需求)
模版跟着项目 切分(发布影响最小原则)
静态资源带hash值(方便cdn分发)
开发需要配合修改的:
- 配置 文件路径独立、分四个环境(dev,test,prepare,production)
- 静态资源与代码分离
- status.php 状态页支持
Q&A:
发布系统需要配置 QA来测试功能
短信发送,延时超大
服务器盘点工作:
nginx: 4台 老账号(2台)
php-fpm: 10台 老账号(2台)
需求:预发布环境db服务器