准备一个安全可靠的发布流程

标签: 产品和系列专题 Dubbo 发布 可靠 回滚 | 发表时间:2013-01-23 12:47 | 作者:李 鼎
出处:http://rdc.taobao.com/team/jm

Dubbo注册中心的发布上线有段时间常常出问题,发布注册中心就是一次冒险。
# 期间也因此吃了些故障。

为了解决这个问题, Dubbo Team专门讨论过一次,梳理发布流程,给出问题的解决方法。

虽然针对的是Dubbo注册中心,其中的最佳实践是通用的。

关键字

  1. 角色 vs. 操作
    操作者 & 检查者 (发布过程要2个人一起参与)
  2. 冷操作 vs. 热操作
  3. 读操作 vs. 写操作
  4. 原子操作 vs. 回滚操作

说明:

  • 冷操作:在发布之前可以做好的操作,如机器确认,发布通知邮件。
  • 热操作:线上发布操作过程的操作。
  • 一定要充分考虑“回滚操作”。
  • 原子操作的步骤的执行不能被中断。
    有几次操作出错,都是的发布过程中被打断去做其它的事,导致步骤遗漏。上下文切换难免要出错。

Dubbo注册中心发布的冷操作

  1. 发布前三天,通知网站应用升级时间,尽量避开核心应用发布
  2. 发布前一天,
    • DBA升级数据库表结构
    • 机器环境 & 软件 检查,如Jetty、JDK6u25的安装
  3. 打印好Check List(即指发布操作过程的Action Items,热操作)

Dubbo注册中心发布的热操作

人员的状态保证

  • 操作者
    1. 交出手机给检查者(人工防火墙),避免操作被打断
    2. 检查Check List
    3. 按流程图来操作
    4. 操作者被打断时检查者需要接手,操作者需要先保证原子操作结束以及还原操作完成
  • 检查者
    1. 检查Check List
    2. 接收外部输入

执行操作

整个执行操作是一个原子操作。

  1. 通知相关发布群
  2. 记录注册中心上的 数据
    • 服务 (尤其是没有提供者服务)
    • 机器
    • 连接
  3. 开启warm-up状态
  4. OPS上传新版本包,重启升级应用
  5. 检查 数据(遗漏则联系应用)
  6. 检查注册中心状态
    • 没有Active Task
    • 查看 Error日志
    • 查看未知连接
    • DB地址Check
    • 连接数已经稳定
  7. 关闭warm-up状态
  8. 还原静态数据为动态
  9. 检查数据(遗漏则联系应用)
  10. 检查注册中心状态
  11. 等待应用验证
  12. 上面的操作如有问题,执行回滚操作

回滚操作

  1. 记录静态的提供者,所有动态的转成静态
  2. 开启warm-up状态
  3. OPS回滚发布包
  4. 关闭warm-up状态
  5. 还原静态数据为动态
  6. 检查数据(遗漏则联系应用)
  7. 检查注册中心状态

后记

下层操作 简单 是流程会有好结果的前提!对于复杂的操作,那再好流程也不会有好的结果的!!
# 关于如何去发现简化操作参见我的博文: 发布及其检查的自动化实践

最后放上,Dubbo注册中心流程讨论时,大家一起看的视频: 一位744的老机长最后一次飞行
这个视频由 Ludvik_淘宝伯昊找出来给大家看的。

希望发布能像这个老机长指挥下的飞行一样,一步一步沉着可靠,考虑了各种异常情况和对应的回滚措施,确保不会处于一个不可控的状态。

嗯,“让我们一起加入这万米云端的历险!!”

 

个人博客的博文地址: 准备一个安全可靠的发布流程

相关 [安全 可靠] 推荐:

准备一个安全可靠的发布流程

- - 淘宝网综合业务平台团队博客
Dubbo注册中心的发布上线有段时间常常出问题,发布注册中心就是一次冒险. 为了解决这个问题, Dubbo Team专门讨论过一次,梳理发布流程,给出问题的解决方法. 虽然针对的是Dubbo注册中心,其中的最佳实践是通用的. 操作者 & 检查者 (发布过程要2个人一起参与). 冷操作:在发布之前可以做好的操作,如机器确认,发布通知邮件.

将天线“缝”进衣服中 通讯设备更安全可靠

- Lee Jia - cnBeta.COM
据美国每日科学网站近日报道,为了使通讯设备变得更加方便可靠,美国俄亥俄州立大学的科学家研制出了新方法,可以使用塑料薄膜和金属线将无线电天线直接缝 入衣料中,新天线系统能接收到无线电信号的范围是传统天线的4倍. 科学家们表示,下一代通讯系统可能要靠缝纫机来完成. 相关研究发表在美国电气和电子工程 师协会(IEEE)最新出版的《天线与无线传播快报》上.

怪不得高铁这样安全可靠:看看中国的动车司机怎么学开火车

- Eric - 天朝娱乐 | 每天开心一下!
感谢 天朝p民 投递给天朝娱乐. 德国人需要两三个月学会开动车,中国人要求必须十天学会. 德国培训专家称“只用10天时间要驾驶世界最先进的动车组,是不可能完成的任务. 而中国的领导交代:培训10天,必须把第一列350公里的动车组开回北京. 大*跃*进还没结束?红歌一唱,高铁就跑,怪不得高铁这样安全可靠.

可靠的收息股

- Zfare - 分析員的告白
雖則收息是投資收入其中一部份,但投資者仍需認清真是可靠的收息股其實不多. 一般而言,優質的收息股應具備以下的條件:. 1) 業務週期性甚低,如本地公用股. 2) 息率偏高,而且有多年穩定派息歷史. 3) 有避險的作用,如大跌市時股價偏向平穩,甚至逆市向上. 最直接的例子如以下的大市值本地公用股,息率若為3%-4%不等:.

socket通信之可靠和不可靠的原理

- - CSDN博客互联网推荐文章
TCP可靠,UDP不可靠的实现.          每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态. 接收缓冲区把数据缓存入内核, 应用进程一直没有调用read进行读取的话,此数据会一直缓存在相应socket的接收缓冲区内.

谁更安全?

- iceman.yu - 比特客栈的文艺复兴
原文:The triumph of coal marketing – Seth Godin. 翻译+整理:David Frank. 你对核能发电是不是也有一些看法. 相比其他的发电方式,它们谁更安全. 数据来自这里,图片来自这里,上图是一幅毫不夸张的数据简化图. 同样的发电量,每当核能发电误杀一个人,煤炭发电会导致4,000人的死亡.

网络安全

- - CSDN博客系统运维推荐文章
1、防止入侵者对主机进行ping探测,可以禁止Linux主机对ICMP包的回应.  iptables 防火墙上禁止ICMP应答.  关闭不必要的端口,时常检查网络端口情况.  nmap  可以扫描端口.  关闭不必要的服务和端口.  为网络服务指定非标准的端口.  开启防火墙,只允许授权用户访问相应的服务端口.

安全机制

- - 开源软件 - ITeye博客
ActiveMQ中所有安全相关的概念都是通过插件的形式实现的.这样可以通过ActiveMQ的XML. 配置文件的元素来简化配置和自定义安全认证机制.ActiveMQ提供两种认证方式:.     简单认证插件 -- 直接通过XML配置文件或者属性文件处理认证.     JAAS认证插件 -- 实现了JAAS API,提供一种更强大的可自定义的认证解决方案.

Memcached安全性

- - xiaobaoqiu Blog
1.Memcached -l参数. 1.Memcached -l参数. 最近整理了组内使用的Memcached. 发现很多问题,其中一个问题就是开发机器测试机器可以直连线上的Memcached. 这也是memcached公认的问题:memcached 是一种很简单、有效的协议,但也有其缺点,就是 memcached 自身没有 ACL 控制(或者相当弱).

sessionId安全性

- - 互联网 - ITeye博客
session id 安全性问题. 最一般的方法是自己管理session id. 用户login后,在后台加密出一个accessToken,并返回给用户. 客户端接收到accessToken,可以将它存起来,web的话可以存在session storage,手机也可以保存accessToken,用于单点登录.