怎么样部署新的code到一个集群里
来源:互联网 发布:centos 网络配置文件 编辑:程序博客网 时间:2024/05/01 11:02
如题,怎么实现呢?
首先需要提供控制每次部署的粒度,是要保证50%的service可用,还是每次最多部署10%的机器,这些都是策略。
然后对于每台服务器来讲,都要执行以下步骤:
1 首先将自己从VIP或load balancer中剔除或disable掉,使自己不在serve流量。
2 停止服务器进程。
3 清理环境,将之前的包删除。
4 将新的包,代码版本(解释型)或编译版本(编译型)拉到本地。
5 进行可用性,完整性等检查。
6 建立软链接。
7 启动服务器进程。
8 测试是否可用。
9 将自己加入到VIP或load balancer中,继续开始serve流量。
最后,完成所有的机器的部署。注意这种方式,添加和删除新的host都很容易,每台server最终都是幂等的,但在中间部署状态,即有的server是新版本,有的server是老版本。这种中间状态,如果服务器是无状态的就没有任何问题。但如果是有状态的,那么在上新code的时候就要同时既能支持old version,又要能支持new version, 这样才是安全的,否则就会出现不一致的状态。
原文:http://blog.csdn.net/hongchangfirst/article/details/47723705
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
0 0
- 怎么样部署新的code到一个集群里
- CDH 集群如何部署一个新的服务
- 程序部署到新的PC时,要获取一个绝对路径作为程序部署的基准
- 一个新的网站怎么样才能让搜索引擎快速收录?
- 【code】文件移动到新的文件夹
- 部署一个伪分布式的Hadoop集群
- 在一个webview里跳转到新的activity里,webview无法响应js事件的问题
- Cosmos上增加一个新的widget到widget selector page里
- 存:保存结果的内容到一个新【号】里 20140728 ⑧平台控制
- python里给出一个列表,怎么样从列表里取出最小两项的索引值
- Git里怎么自动commit到一个新分支?
- 【新】CentOS7部署Kubernetes集群
- Android怎么样实现一个定时器,再Activity里自动的一秒一秒的走
- 请教怎么样在一个字符字段里修改里面的内容加文字上去
- 我想把格式完全一样的很多文件一下全部导入到一个新的文件里,应该怎么做?
- Ambari离线部署Hadoop集群踩到的坑
- 自动部署Ambari到集群的自动化脚本
- 一个新加入的程序“猿”,怎么样才能让自己爱上这个行业
- mac下安装mysql的方法
- 杭州电子科技大学acm---2014
- hibernate FetchType理解
- POJ2528--Mayor's posters(离散化)
- OAF学习笔记-5-点击按钮页面跳转
- 怎么样部署新的code到一个集群里
- 第二天 Java基本语法(一)
- 根绝exe名字获取进程ID
- 不同噪声下滤波器的选择
- HDU 1015.Safecracker【暴力枚举】【8月17】
- 黑马程序员-----Java基础-----String
- linux 生名变量类型 declare
- 根据指定颜色生成图片
- Agar 流体效果的 Cocos2d-JS 实现