00:00
同学们,我们上节课讲了镜像队列,哎,完成了这个队列的备份啊,所以从时从而导致了消息不会再丢失了。哪怕集群当中只剩下最后一台,我们也是可以保证消息可以被消费的。那么。再往下看。同学们会发现,我们刚才在发发出这个队列的时候,每次咱们的这个连接工厂只能连接一个,注意连接一个MQ。但是。我们按照这个图来看。一个生产者如果只能连接一个MQ,那么其他两个MQ怎么办呢?对不对,其他两门MQ如果连接不到的话,会不会出现这种情况。这个MQ宕机了,那么生产者还在连接这个MQ,但是显然已经连接不上了。另外两个MQ它也是能够工作的,所以这个时候就需要生产者连接二号机或者是三号机,但是生产者根本就不知道有二号机和三号机的存在,为什么?因为代码里。
01:12
已经写死了。你看咱们把代码直接粘走。放到图当中一起看一下,由于生产者代码已经写死了这个IP。导致它只会连接某一个MQ,不可能连接其他两个MQ。他也根本就不知道其他MQ的存在,而且他生产者也自己不会自动变更IP,会吗?不会。所以这就存在一个生产者连接MQ集群,存在了一个重要的问题,就是无法变更IP的问题。那怎么办呢?这就不是MQ这堂课应该学的了,它是要借助于外力。借助什么外力啊,你看我们一起来看啊,借助了一个外力。
02:02
什么外力?一个名字叫做。Heres哈,这个发音不是很准啊,就这么一个软件,Ha proxy的一个软件,这个软件呢,是一个负载均衡。这种负载均衡软件呢,市面上有很多,例如有N有LS是吧,还有它。这些软件呢,我们通通在企业上班都用过。它们之间的区别,请查看这个网站啊。但是他们都是非常好的一个负载均衡的这么一个软件。那么这个软件就可以起到什么作用呢?来一起看一下。这张图啊,它这有张图。这张图上我们放大一点。这张图上就可以看到咱们的生产者从这个位置啊,是从上往下走的。生产者。啊,生产者发消息先走什么呢?先走VIP。这个VIP呢,其实就是一个IP啊,相当于这个呢是主机,这个是备机,平时走谁呀,走主机,对啊,有主机在进行转发,后面的多台的这个MQ服务器。
03:13
转发是由他来转发的。跟N几个是一模一样。完之后呢,一旦这台机宕机了。宕机怎么办呢?宕机了,里面有个软件名字叫keep alive,它可以。发现它宕机之后,将IP进行漂移到另外一个背机上。对,这个背机,也就是说从现在开始你就连接背肌。对吧,完了备机再进行转发多台服务器。而且被机还时不时的会问主机,当然就是主机,你还在吗?如果主机不回答说明什么?说明主机已经不在,那么主机不在,被机就接管了主机的工作。
04:01
完了,生产者发消息自然会被转发到备机上,再由备机路由多台服务器就达到了这个目的。而这种方案现在目前在市面上很多软件都在使用啊,都是一套逻辑啊,无论你使用什么软件,只要出现。生产者一方无法连接多台机器的时候,你就用这种方案就能解决。这种方案。已经啊,是各大企业非常常用的方案了啊,这种方案呢,需要安装两个软件,一个叫ha prox软件,一个是keep alive软件,两大软件一安装就能解决这个问题了。好,这就是关于这个实现高可用负载均衡的这么一个原理。而且这个原理还可以解决并发,什么叫并发呢?就例如生产者特别多,你一个两个,三个、四个,咱图上画了几个,画了五个,那如果是500万的。
05:10
对吧,500万个请求呢,每个箭头代表100万。那么500万个请求他也能够解决,为什么呢?因为500万个请求,每一个都经过他,他并不是真正处理,而是转发后面多台机器来处理。解决了一个负载均衡高并发问题。也实现了高可用,什么叫高可用呢?就是某一个主机宕机了,备机是可以接管他的工作的。对吧,哎,这种方案。非常流行。完了,我们的MQ啊,集群也是使用这种方案,放在前方。是吧,来解决负载均衡的问题。
我来说两句