上线生产整体流程
- 信息同步
- 分支管理,提交审核、代码review、环境发布
- 自动化测试,测试用例分层,功能测试,基础测试
- 生产发布行事历,SQL、配置、镜像更新步骤
后端研发避坑指南
- 通用流程
- 需求沟通
- 接口文档设计
- 开发&自测&联调
- 测试&修复bug
- 上线
- 技术思考点
- 对于重要业务(如订购、退订、支付等核心业务),是否需要保存上下文信息,异常监控通知;保存上下文信息:打印日志、存入mysql、redis等存储中间件, 邮件报警等
- 对于高频、分布式场景,是否需要引入限流、分布式锁、幂等、保障业务安全
- 限流,建议使用分布式限流,如springcloud-alibaba的Sentinel、redis+lua、nginx的rate-limiting
- 分布式锁:锁的粒度是否经过评估,精确到资源、租户、行为?锁的实现
- 幂等:针对MQ消息监听、订购、退订等场景,需要保证幂
- 对外接口是否需要鉴权,鉴权逻辑是否经过有效评估
讨论