zoukankan      html  css  js  c++  java
  • 上线规范

    上线前

    • 代码review,代码必须由其他人review并+2(即使只改了一行代码或者加个日志也需要找人review)
    • 整理上线文档,上线文档需要包含以下内容
      • 责任人,包括开发、产品、测试
      • 相关依赖,例如依赖了其他服务的新接口,需要在其他服务上线之后才能上;被其他服务或者前端依赖,上线后需要周知相关人员
      • 上线流程,上线流程超过3个步骤需要找人review
        • 准备资源和配置,包括但不限于以下内容
          • 如果是新服务,是否需要配置nginx
          • mysql数据库,包括建表、改表、改索引、刷数据等
          • 消息队列
          • 缓存,申请缓存实例,例如redis、memcached
          • 其他数据库,es建索引等
          • captain、nacos配置
          • conan-config配置
          • 第三方ip白名单,第三方平台配置等
        • 上线服务,同时上线多个服务时,多个服务之间是否有依赖关系和上线顺序
      • 上线后验证方案
      • 回滚方案,回滚方案也是测试内容的一部分,回滚方案必须是可操作的
      • 少数情况下可以不写上线文档,例如上线流程非常简单,只有1-2个步骤,对现有功能没有影响
      • 紧急上线时线下讨论上线流程可以不写详细的上线文档,但是这种情况下往往更需要遵循上线规范
      • (如果有)后续下线旧代码或兼容代码的计划

    上线时

    • 尽量避免高峰期上线,尽量避免在16:00-21:00之间上线
    • 合并代码,合并pr代码到master分支,合并master代码到online分支,合并时注意周知相关开发并再一次review自己的代码
    • 在产品研发测试群周知相关人员,包括上游、下游、产品、开发、测试
    • 用online代码build,检查build的内容是否和合并的代码一致
    • 上线第一台机器并stage
      • 周知相关开发
      • 观察第一台机器的日志(新代码),是否有错误日志,是否有不符合预期的日志
        • 新代码本身有问题
        • 至少保证新代码被执行一次(可以通过业务逻辑,数据库等确认,如果有新表上线,需要确认新表是否有写入新数据等)
      • 观察第二台机器的日志(旧代码),是否有错误日志,是否有不符合预期的日志
        • 新旧代码不兼容导致的问题,例如新代码写入一个新的枚举类型,旧代码不识别报错
      • 观察下游服务的错误日志
        • 修改了对外提供的接口或者消息,导致下游代码不兼容
      • 观察业务日志
        • 例如公平分班关注新收到的订单是否正常分班,电话系统关注新的外呼请求是否成功等
      • 观察sentry
        • 某个类型的错误数量飙升
        • 上线过程中出现的新错误(last seen)
      • 观察grafana
      • 线上验证
        • 调用接口正常,接口流量符合预期
        • mq消息发送和消费正常
        • 数据库数据写入正常
        • 缓存数据正常
    • 部署其他机器,部署过程中持续观察
    • 执行上线文档中的其他流程

    上线后

    • 自己及时走查,确保自己的逻辑正确
    • 周知相关人员,包括开发、产品、测试、上游
    • 通知测试开始线上回测
    • 观察线上运行情况
    • 周知下游开始上线
    • 一段时间内持续观察线上运行情况,包括但不限于sentry、grafana、线上数据等

    注意事项

    上线过程中如果出现大量报错、收到产品、技术支持、运维报障,立刻执行回滚方案,回滚的并发度可以提高一些,回滚完之后再考虑原因

    上线过程中出现任何问题,立即在上线群周知

    解决完问题之后需要考虑是否产生了脏数据,以及是否需要修复

    新同学上线时如果出现任何问题,立刻找自己的mentor

  • 相关阅读:
    一则线上MySql连接异常的排查过程
    有一种娱乐叫看别人编程
    程序员DNS知识指南
    中国式开源
    RSS与公众号
    论国人的素质和一个公司的商业道德
    《阿里游戏高可用架构设计实践》阅读笔记
    《淘宝数据魔方技术架构解析》阅读笔记
    软件体系架构_系统质量属性场景描述_结合《淘宝网》实例
    《余额宝技术架构及演进》阅读笔记
  • 原文地址:https://www.cnblogs.com/DengGao/p/14756819.html
Copyright © 2011-2022 走看看