美文网首页
Zero Downtime

Zero Downtime

作者: 春卷_381a | 来源:发表于2018-08-28 22:29 被阅读0次

Zero Down Time

蓝绿发布

数据库(关系型数据库)如何兼容蓝绿版本

基本要求

  1. 不允许删除列
  2. 不能影响正常的写入更新操作
    2.1 因不同的数据库对于锁的处理各有不同,所以无法列出更细的一些规范。
    2.2 以PostgreSQL为例:
    2.2.1 加列时不能增加默认值/不能加非空列
    2.2.2 增加索引时,需要使用CONCURRENTLY 关键字
    2.2.3 修改原有列的类型
    2.2.4 删除列
    2.2.5 不能直接增加唯一约束,需用CONCURRENTLY 增加唯一索引后,再转为唯一约束
    2.2.6 不能直接增加主键,需用CONCURRENTLY 增加唯一索引后,再转为主键
    2.2.7 VACCUM FULL
  3. 数据迁移时,需做追数据处理。
    3.1 需保证数据迁移脚本可重复执行。因在发布的不同阶段都需要执行同一数据迁移脚本。
    3.2 Jay : 需补充如何具体实施

应用要求

  1. 应用必须支持多节点部署。
    1.1 服务无状态
    1.1.1 web session不存在应用内存中。
    1.1.2 服务本地不可存临时文件。
    1.2 不可有Schedule Job基于共享数据处理业务,类似于发送message ,先存入数据库,有对应的Schedule Job 从数据库中取出message ,并做业务处理。如业务处理无法满足幂等性,将会出错。

执行过程

相关文章

网友评论

      本文标题:Zero Downtime

      本文链接:https://www.haomeiwen.com/subject/yzjcwftx.html