29 | Ops三部曲之二:集群部署
四火
该思维导图由 AI 生成,仅供参考
你好,我是四火。
今天我们来谈谈 Ops 的三部曲之二,集群部署。毕竟一台物理机能够承载的请求数是十分有限的,同时,一台物理机还存在着单点故障(Single Point Failure)问题,因此我们通常需要把多台 Web 服务器组成集群,来提供服务。
负载分担
还记得我们在 [第 28 讲] 中介绍的反向代理吗?负载分担,又叫负载均衡,也就是 Load Balancer,就是反向代理设备中非常常见的一种,它可以高效地将访问请求按某种策略发送到内网相应的后端服务器上,但是对外却只暴露单一的一个地址。
除了作为名词特指设备,负载分担还可以作为动词指用来分配请求负载的行为,它可大可小,小可以到使用 F5 等负载均衡的专用设备来将请求映射到几台服务器上,但也可以大到用 DNS 来实现广域网的路由。例如同样访问 www.google.com,DNS 会对于不同地区的人解析为不同且就近的 IP 地址,而每个 IP 地址,实际又是一个更小的负载分担的子网和服务器集群。
上图演示了这样一个过程:
用户 A 和用户 B 都去 DNS 服务器查询 Google 的 IP 地址,但是他们在不同地区,不同的 DNS 服务器返回了不同的 IP 地址;
以用户 B 为例,根据返回的地址发送了一个 HTTP GET 请求,这个请求被负载均衡器转发给了服务器集群中的其中一台服务器 Web Server 2 处理并返回。这个城堡一样的结构图示就是负载均衡器,负责转发请求到实际的服务器。它可以由硬件实现,例如 F5;也可以由软件实现,例如 Nginx。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了Ops中集群部署的重要概念和相关技术特点。首先介绍了负载均衡器的作用以及不同的策略算法,如随机选择、轮询、最小连接等,强调了负载分担的重要性。随后详细解释了服务端Session和浏览器Cookie的作用,以及它们在填补HTTP通信缺陷方面的重要性。最后,探讨了集群部署中的新版本部署策略,包括滚动、蓝绿、金丝雀等,旨在保证业务不中断的前提下,实现新版本的部署和流量切换。文章还强调了数据和版本的兼容问题,提出了解决办法。总体而言,本文对于想要深入了解Ops领域的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全栈工程师修炼指南》,新⼈⾸单¥59
《全栈工程师修炼指南》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 💢 星星💢老师,金丝雀部署和滚动部署有啥区别呢?不都是缓慢过度到新版本么?具体的区别是什么。我还是没看懂?
作者回复: 金丝雀部署,顾名思义,就是拿“金丝雀”节点去尝试新版本的执行(本质就是线上测试),看看有没有问题,有就回滚,没有的话再逐步铺开。但是滚动部署只是强调逐步释出,没有这样的含义。
2020-03-271 - leslie准备去看看<六种部署策略>,然后找寻合适的方式部署一套试试;通过实践检验学习的效果。2019-11-181
收起评论