Wow4j Wow4j
首页
个人使用说明书
后端开发
前端开发
测试开发
运维开发
大数据开发
产品&UI交互
团队管理
软技能
他山之石
开源产品
敬请期待
GitHub (opens new window)
首页
个人使用说明书
后端开发
前端开发
测试开发
运维开发
大数据开发
产品&UI交互
团队管理
软技能
他山之石
开源产品
敬请期待
GitHub (opens new window)
  • 概要
  • 成为会带团队的技术人
  • 团队「奖优罚劣」14条军规
  • OKR 最佳实践
  • 超实用网址大全
  • 技术人员如何准备晋升答辩?【转载】
  • 番茄工作法(简单易行的时间管理方法)
  • 电商常见名词
  • 规范&模板

    • 概要
    • 服务端上线 CheckList 模板
      • 1. 上线功能点及涉及服务
        • 1.1 新功能点及改动点
        • 1.2 涉及服务
        • 1.3 注意事项
      • 2. 上线前预操作 发布前半天
        • 2.1 配置相关
        • 2.2 资源申请相关
        • 2.3 数据库操作相关
      • 3. 正式发布流程
        • 3.1 应用程序发布
        • 3.2 网关层配置发布
      • 4. 应用发布后
        • 4.1 功能验证(重要)
        • 4.2 日志监控告警
      • 5. 风险点
      • 6. 回滚操作
      • 7. 其他相关注意事项
      • 8. 附件
    • Case Study 模板
    • 服务端系统设计 模板
    • 性能测试报告 模板
    • 日报格式 模板
    • 月报格式 模板
    • Git 提交 message 规范
  • 如何做好技术规划
  • 张一鸣精选微博55条
  • 项目理念与愿景
  • 项目版本号
  • 团队管理
  • 规范&模板
timchen525
2023-01-28

服务端上线 CheckList 模板

上线 CheckList 是「检查清单」,而不是 To Do List。CheckList 必须尽可能保证能成功顺利运行,因此需要:

原则

  • 上线 CheckList 必须至少在线下环境按照清单执行一遍,需要确保 CheckList 在线上 99.9% 能够执行成功。
  • 与大多数文档类似,CheckList 也遵循总分总原则,文档尽量清晰易懂,对于内容特别多的部分可以通过附件来添加。
  • 每一项操作,必须责任到具体的操作人,当操作人执行完成后,CheckList 负责人必须进行 Check 是否成功执行,只有成功执行了,方可进行下一步。
  • CheckList 需要开发人员至少在开发的中后期阶段,进行预想上线后的操作步骤,并进行注意事项记录。
  • 由于当开始应用发布后,可能会因为一些前置操作没做导致服务不可用,因此,需要提前准备好,哪些操作可以进行前置操作。
  • 应用发布完成后,必须对所开发的功能进行验证(不存在说线上不可验证的功能,可以用一些冗余代码来进行尽可能的验证)。
  • CheckList 的所有项要遵循从上到下的时间线依次操作,即依次按照编写的文档操作,不可跳过步骤。
  • CheckList 需要给出系统可能的风险点,倒逼开发者进行稳定性思考。
  • 每次的发布一定要认真想好是否可以回滚,如果不能回滚,出问题了,该如何操作。

这里给出一个服务端上线 CheckList 的样例模板,大家可以根据需要适当增加、修改以及删除。

# Demo V1.0 上线 CheckList

项目&版本 团队成员 CheckList 主导人 发布时间 预计发布时长 影响范围 创建时间
Demo v1.0 李四、小明 李四 2023-01-29 10:00 10min 发布期间会有部分用户超时不可用 2023-01-29

# 1. 上线功能点及涉及服务

# 1.1 新功能点及改动点

本次版本发布有新功能以及旧版功能的优化,具体有: 小明

  • 增加用户画像模块;
  • 修改用户权限配置的bug;
  • 删除评价中冗余代码;

# 1.2 涉及服务

本次版本发布涉及较多服务,具体有: 李四

  1. Demo A端服务 admin-demo
  2. Demo 前端服务 demo-ui
  3. Demo 对外服务 demo-service
  4. Demo 监控服务 demo-apm

注意:服务的发布顺序依次从上到下,不可跳步。

# 1.3 注意事项

# 2. 上线前预操作 发布前半天

# 2.1 配置相关

1) Apollo 配置 @张三

增加如下配置:

demo.search.switch=false
demo.search.test=good

删除如下配置:

demo.search.t=55

check:在测试环境配置完成后,通过 actuator /properties 验证,正式环境配置后,人工校验,当项目发布成功后,需再次通过 actuator /properties 校验。 @李四

2)application.properties 配置 @张三

增加如下配置:

demo.spring.actuator=health

check:在测试环境配置完成后,通过 actuator /properties 验证,正式环境配置后,人工校验,当项目发布成功后,需再次通过 actuator /properties 校验。 @李四

# 2.2 资源申请相关

1)域名申请 @王五

运维域名管理平台,申请域名:http://api.demo.com

check: ping 该域名 http://api.demo.com,域名解析可能需要一到两天,因此,需要提前一到两天申请。 @李四

2) 线上机器申请 @王五

运维机器管理平台,申请 3 台 4 C 16 G 的机器。

check:运维管理平台上查看机器是否存在。 @李四

# 2.3 数据库操作相关

1)MySQL 操作 @小七

详细见:附件一。

check:通过 DBA 平台,查看 MySQL 表 t_test 是否成功建立,表 t_middle 的字段 name 从 char(10) 是否改为 varchar(20)。@李四

2)ElasticSearch 操作 @小花

详细见:附件二

check:在 Kibana 平台,执行 GET demo/_mapping 查看索引的字段是否成功创建。@李四

3)Redis 操作 @小花

无

# 3. 正式发布流程

# 3.1 应用程序发布

  • 步骤一:发布 admin-demo @李四

check:查看 admin-demo 的日志是否报错,执行接口/demo/user/1222 接口,是否成功返回 success,否则检查 MySQL 的数据是操作有问题。 @李四

  • 步骤二:发布 demo-ui @李四

check:利用管理员账号 admin/admin 查看是否新增用户权限页面、用户画像模块,并添加一个用例,成功添加后,执行MySQL 语句,Delete table test where a = 122. @李四

  • 步骤三:发布 demo-service @李四

check: 查看项目日志是否有 warn 以及日志,调用接口 Dubbo demo.test.service.api.search,是否返回 success,否则查看代码是否有问题。

  • 步骤四:发布 demo-apm @李四

check:查看项目日志,登录 APM 后台,查看是否有指标上报。

# 3.2 网关层配置发布

无

# 4. 应用发布后

在应用发布的过程中,我们已经依次保证单个服务以及自上而下的服务的基本流程的正确,但是仍然不能保证所有服务的功能正常,因此需要做进一步的功能验证。

# 4.1 功能验证(重要)

功能验证是应用发布后至关重要的一步,严禁发布后的功能没有验证。

验证过程需要让项目组的人员一起参与,包括:测试、前端、后端、产品,当功能验证都通过后,方可交付给一线业务。

1)本次功能验证

  1. 新增用户权限页面;
  2. 编辑用户权限页面;
  3. 删除用户权限页面

2)重要功能回归

  1. 用户统计模块的功能点是否正常。

# 4.2 日志监控告警

1)治理日志

2)治理监控指标

3)添加告警

# 5. 风险点

无

# 6. 回滚操作

无需回滚,本次为首次功能上线。

# 7. 其他相关注意事项

无

# 8. 附件

  • 附件1:v1.0.0 MySQL
  • 附件2:v1.0.0 Elasticsearch
上次更新: 2023/01/31, 17:37:12
概要
Case Study 模板

← 概要 Case Study 模板→

Theme by Vdoing | Copyright © 2022-2023 timchen525 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×