基于云落地SLB+Tengine实现高可用集群负载均衡 - 下

2020-06-26  本文已影响0人  风间影月

基于云落地SLB+Tengine实现高可用集群负载均衡 - 下

本次分享基于618慕课网直播,更多精彩可以关注:https://class.imooc.com/sale/javaarchitect

服务器配置

4台阿里云节点:

部署:

SLB负载均衡器介绍

官方详细介绍:https://help.aliyun.com/document_detail/27539.html

本质上,使用任何一家云厂商的都可以,每家厂商的名字取名不同,腾讯叫做CLB,阿里叫做SLB。都是负载均衡器,购买的时候需要注意,不同类型的SLB所支持的并发也不同。可以参考如下图:https://help.aliyun.com/document_detail/85931.html

-w1027

务必注意:SLB所在地域需要和ECS所在地域相同,ECS所在地域不仅要相同,而且所在区也需要相同,比如如下,所有的ECS都所处上海,并且在华东2 可用区E,这样才能让所有服务器节点在一个私有网络,也就是内网,内网的话带宽才会打,吞吐量才会高,性能才会更好。

-w200

如果多个服务器节点在不同的可用区,那么他们走公网,带宽小了并发就上不去了,这一点需要注意。

对了啊,这个SLB是可以购买多个的,比如异地多活,同城双活,多区高可用都能实现,阿里云或者腾讯云这样的厂商也都提供相应的解决方案。直接使用云产品会大大降低成本,以及风险。(风险是任何项目管理中必须考虑的因素,项目越大,风险越大)

部署架构图

nginx/tengine 虽然写着主备,但是真正使用起来他们是同时运行的,下游还有SLB转发给他们请求。


-w909

构建SLB高可用集群负载均衡

image
  1. 多区高可用,按照上海、北京、深圳等地域进行部署,流量通过dns分发到不同的地区,这也是按照地域的负载均衡,同时在某个地区全部宕机或者发生不可预料的自然灾害的时候,可以把流量分发给就近的地域服务器实例,从而保证多区高可用。

  2. slb架构分为两种,如下:


    image
  3. SLB本质原理就是通过网卡进行IP漂移,产生虚拟ip,也就是vip,我们在架构师课程中手把手的带着大家搭建了基于keepalived的双主热备和双机主备,以及LVS+Keepalived+nginx的高可用集群对吧。这个其实就是云负载均衡器的原理。如果在云服务器中,直接使用SLB即可,没有必要再去搭建,除非自己自建机房。那么这块内容也不难,跟着老师的步骤去实操一遍心里有个底就行。毕竟不是运维。


    image

扩展加餐:弹性伸缩

image

创建负载均衡

首先需要购买,这里已经需要买好了,和所有的服务器节点同处于一个地区,都是在上海E区,购买好以后就能配置SLB实例了。

也可以通过命令行CURL来进行测试:


-w663

需要注意,在咱们课程中,lvs+keepalived下,我们发起访问之后,那么会得到指定的一个内部ip地址和它通信,后面我们再次发起请求,就会和这个内部地址直接交互,因此浏览器只会显示只轮询了一个RS真实地址。如果换一个客户端发请求,返回的应该就会是另一个地址了。这也就是持久连接的出现情况。参考文献:https://help.aliyun.com/document_detail/27656.html

一条tcp的连接经过lvs后,lvs会把这台记录保存15分钟,就是因为这个时间过长,所以大部分人都会发现做好LVS DR之后轮询现象并没有发生

可以通过关闭浏览器进程,等待几秒后,再重新打开后刷新,可以看到请求变化了

小节

简单小节一下,我们之前在架构师课程中所操练的其实就是偏底层的配置,而云服务器里我们是不需要这么做的,我们只需要在云供应商的应用层之上去建立相关的资源配置即可。所以原理以及实操都在架构师体系课程中,有兴趣的同学可以跟琳琳关注一波。

公众号底部二维码
公众号底部知识星球二维码
上一篇 下一篇

猜你喜欢

热点阅读