服务迁移SOP
流程
确定方案
要求
必须
参与人
- 研发
- 运维
事项
开发测试数据同步
要求
非必须
参与人
- 研发
- 运维
事项
- 研发
- 提供需要迁移中间件信息
- 运维
- 数据迁移
- 提供新中间件地址、账号及密码
开发测试环境部署
要求
必须
参与人
- 研发
- 运维
事项
- 研发
- 集成devops, 按要求修改代码:日志规范、监控、健康检查、中间件地址等
- 研发分析错误信息,保证服务正常启动
- 运维
- CI构建:jenkins部署。授予研发jenkins查看权限
- CD部署:k8s集群部署pod
- 服务启动,提供错误信息及服务查看平台给研发
验收
要求
必须
参与人
- 研发
- 测试
事项
- 研发
- 自测
- 测试请求
- 测试中间件连通性
- 查看日志正常输出
- 测试
- 测试环境回归测试
生产数据同步
要求
非必须
参与人
- 运维
使用工具
-
云厂商DTS
-
Myql:腾讯云
-
Redis: 阿里云
-
Mongo: 阿里云
-
OSS: 同步cos腾讯云,使用腾讯云/自身工具
同步方式:
操作案例
案例1:
应用场景: 云服务/自建
优点:简单
案例2:
应用场景: 自建
优点:服务几乎感知
TODO
- 业务方需要根据项目实际情况决定自身方案
- 对于数据强一致性,需要业务方有补充方案; 比如:数据双写;写入错误记录日志,手动补齐;闲时切量等方式
原生产发布上线/验证
要求
必须
参与人
- 研发
- 运维
- 测试
事项
生产环境部署
要求
必须
参与人
- 研发
- 运维
- 大数据
事项
- 研发
- 合并代码到master分支
- 提供启动配置给运维
- 运维
- CD部署:k8s集群部署pod
- 服务启动,提供错误信息及服务查看平台给研发
- 确定Pod数量,Pod规格
- 网关配置
- 大数据
- 验证新topic是否能消费数据
- 验证数据报表准确性
切量
要求
必须
参与人
- 运维
操作方式
验收
要求
必须
参与人
- 研发
- 运维
- 测试
- 大数据
- 干系人
事项
- 研发
- 自测
- 验证大数据日志采集
- 运维
- 验证归档
- 测试
- 回归
- 大数据
- 验证日志采集报表正常
- 干系人(产品等)
- 验证报表数据、同步厂商反馈等
原服务停机删除
要求
必须
参与人
- 运维
事项
checklist
云主机
-
运行进程
- 是否存在其他服务
-
crontab:
- 是否有定时脚本
-
客户端连接
- 是否有其他服务还在使用本机器
云中间件
- 查看监控
- 检查存在连接IP
- 修改白名单
- 自允许自身访问