微服务自动化部署与弹性策略解析
1. 自动化任务与工具选择
自动化任务的下一个目标是处理“苦差”列表中最烦人的任务,这里的“烦人”指的是对业务目标负面影响最大的任务。在计算负面影响时,不要忘记考虑失败风险。
自动化对于执行微服务部署模式也是必要的。大多数模式需要在预定的时间段内执行大量的基本操作,并对失败情况进行观察,这些任务无法大规模手动执行。
自动化工具相对成熟,并且符合现代大型企业应用的需求。有多种工具可供选择,决策应基于你对自定义修改或脚本编写的熟悉程度,因为要完全执行后续的微服务部署模式,需要进行一些自定义操作。
以下是一些可评估的工具:
| 工具名称 | 工具链接 |
| ---- | ---- |
| Puppet | https://puppet.com |
| Chef | www.chef.io/chef |
| Ansible | www.ansible.com |
| Terraform | www.terraform.io |
| AWS CodeDeploy | https://aws.amazon.com/codedeploy |
2. 微服务部署模式
2.1 金丝雀模式(Canary pattern)
新的微服务和现有微服务的新版本会给生产系统带来相当大的风险。直接部署新实例并让它们立即承担大量负载是不明智的。相反,应运行多个已知良好的服务实例,并逐步用新实例替换它们。
金丝雀模式的步骤如下:
1. 激活一个新实例,并将少量消息流量导向该实例。
2. 观
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



