00:01
各位同学大家好,欢迎继续收看上硅谷red视频课程,下面呢,咱们来学习red的集群操作,首先给大家先说一下什么是集群,咱们看第一个内容,就这个集群呢,到底它可以解决什么问题,什么是red集群?那我们来看一下里边这个特点,首先我们看第一个啊,就是我们现在呢,如果说有这么一个场景,比如我们现在啊,在ready的操作中,当你容量不够了,也就是read里边已经写不进去内容了,那read该如何进行扩容,然后第二问题,当我们进行并发写操作的时候,那这ready该如何进行分担呢?所以咱们下面先来考虑一下这两问题,那我在里边给大家写出来,然后咱们做一个基本的分析。首先我们看第一个啊,就是当你red容量不够了,比如说我现在我们有一台red,而我不断往里边进行数据存储,当它的数据存不进去了,那这个时候RA该如何进行扩容呢?那怎么做?就是一台我写不进去,咱就可以来多台,比如现在我可以加入多台拽往里边是不是写数据啊,所以这是第一种解决问题,咱通过集群能解决容量不够的问题,然后里边还有第二个就是当你这里边啊,你一直做这个并发写操作的时候,那radi该如何分担呢?给大家说一下,比如我现在只有一台ready服务,那我们写操作,你可能是主从这个过程,那写操作都在主里边进行操作吧,那我主操作所有都进行写操作,不管说你容量多么的大,那这操作压力是不是很大呀,那咱们怎么分担一台复肌压力呢,怎么做。
01:56
是不是就可以停集群呀,比如现在我写操作,我一问操作到第一台服务器,另问操作到第二台,问操作到第三台,用集群是不是能分担你的写的这个压力,所以这两问题用集群可以解决,第一个就是容量不够问题,第二个就是并发写操作,这各位给他知道,然后除了这个之外,大家往下看啊,比如说咱们目前啊,不管你是用主从模式薪火相传,还是主机宕机,都可能导致一个问题,那就是你的IP地址发生变化,或者说你的端口号也发生变化,那这个时候呢,咱们在应用程序中,你的操作是不是要去修改一下你的主页地址和端口号了,所以这些过程肯定是特别不方便,那这过程咱该怎么解决呢?给大家说一下这个演变过程啊。
02:47
在早期的时候呢,是通过代理主机方式来解决,而在red3.0开始提供了一种解决方案,叫做无中心化进行配置,那这两种方式什么意思?给各位来解释一下,咱们先说这个主机代理方式是什么意思,然后再说这个无中心化集群,那我们来说一下啊,先说第一个。
03:13
这种方式。叫做代理主机方式,那给大家解释一下哈,什么叫代理主机,比如说啊,我现在呢,这部分是我们这个就是客户端部分,就客户端嘛,发送我们的请求,这是第一部分,比如现在我这个项目啊,假如说啊,就是一个电商项目,电商项目中是不是有很多模块,咱们比较基础的模块,就是一般电商应该都有这几个模块,比如有你的这个用户,有你这个订单,有你的商品,比如我们现在啊用户部分咱们存到一台read服务中去,然后这个订单部分存到一台read中去,然后我这里边呢,就是商品部分也存到一台RA中去,而我现在在发送请求的时候一个特点,我用户操作是不是请求用户这个服务,我订单操作请求订单服务,然后商品操作是不是要请求商品服务。
04:11
但是各位注意啊。这个过程中呢,我客户端怎么知道我去启出哪个服务呢?我可以怎么知道,大家想一下啊,用传统方式客户端中是不能存入这个信息啊,当然客户端存信息肯定特别不方便,所以大家可以怎么做,因一种比较传统方式就是加一个代理的方式,比如现在我在这个位置啊,加一台代理服务器。我写一下啊,这是一台代理服务器。而我们访问的时候呢,咱们直接去请求代理服务器,由代理服务器根据请求帮我们做事情,比如咱约定当我请用中包含user,然他就去请求我的用户这台服务器,当我包含这个order订单请求订单服务,当我包含product的商品,就去请求商品服务。所以咱们这过程中通过这个代理主机进行操作,但是这个过程中有个特点啊,或者有个缺陷,大家注意啊,因为咱们做ready的时候,比如我现在啊,某台ready的挂掉了,咱可以怎么做?有同学说我加个主从是不可以的,当我主机挂掉之后,我从机马上作为主服务器,这么做是不是可以,比如你加个一主一从或者一主多从,当主机挂掉,从机作为这个主机进行提供服务,比如我现在在用户订单商品是不是都可以加从机?而另外还有一个特点,当我代理服务器如果挂掉了,那是不是就不能。
05:40
提供服务了,那怎么做?我在代理服务器的位置是不是也可以加个从机啊,当主机挂掉,从机马上作为主机提供服务,所以这是一种原始方式。但是这种方式大家看到啊,里边的特点就是你看就是按照我们目前需求,我们要搭建这个集群,至少需要几台服务器,几台来数一下,12345678,它是不是至少需要八台服务器。
06:08
这个位明确啊,而你用八台,比如说你搭建第一个比较不方便,第二个后期维护也很不方便,比如现在我们搭建一个易主多重,那服务器的台数是不是会更多呀?所以这种方式并不是一种合理的方式,那怎么做呢?大家看一下啊,在我们的red3.0开始就提供了一种解决方案,什么方案?叫做无中心化集群配置,所以我们推荐用这种方式来搭建ready集群,那这种方式怎么做的?给大家来画一下啊,叫做无中心化肌群。我在这里边给各位来写一下啊,那这种方式怎么实现的呢?比如我现在啊,这里边有三台服务,咱画三台。我换个颜色啊,三台,比如说就是咱刚才这三部分,一个用户,一个订单,然后再加上一个商品,我画一下啊,这个是用户。
07:04
这个是订单,然后这个是商品啊,包括它有主机,有它的从机,比如这是从啊,这是它的从,然后这是它的这个从,而这个过程我们怎么提供服务呢?给大家说一下哈,无中心化进去,它的做法就是啊,我们这里边跟代理完全不一样,代理的时候呢,然要通过代理进行访问,而在这个过程中,它的特点就是我任何一台服务器都可以作为集群的入口,比如说我现在通过订单进入,通过用户进入,通过商品进入都是可以的,任何一台服务器都可以作为。集群的一个入口。比如说我现在啊,通过订单进入集群,但是正好我访问的又是用户数据,那是不是不是订单处理的,那怎么做订单,把这请求就是交给用户,或者说转移给用户,让他去操作,比如说现在我请了操作也不是用户做的,那用户把它转移给商品,然后商品比如也不是他做的,那他转移给这个订单,就是他们互相可以进行访问,这就叫做无中心化。我再说一遍啊,特点就是啊,任何一台服务器都可以作为集群的入口,然后他们之间可以互相联通,就是我订单可以到用户,用户可以到商品上面也可以订订单,他们互相是一个联通状态,这就叫做无中心化集群,而red中推荐用这种方式进行进行搭建。
08:39
而大家看一下啊,在我们同样的需求中,无中心化,它需要几台服务器,是不是需要六台就可以了,而不像这里边需要八台,所以这是我们提到的这么一个关于集群的一个说明,各位把这个它知道哈,当然我要特别说一点啊,因为咱们现在属于学习阶段,我们为了模拟效果,咱们是在一台服务器中是不是加了多个端口号模拟出效果,但实际的项目中啊,咱们肯定是一台专占用一个利用系统啊,因为我这是一台电脑,如果启动多个,可能我的电脑承入不住,所以我这里边是一个模拟效果,实际中肯定是一个服务占用一台病毒系统,这部要明确啊,咱只是模拟效果,所以这是关于rid集群一个介绍,然后介绍之后咱再往下看啊,Red是一个特点,第一个特点。
09:32
Ready集群实现了对ready的水平扩容,什么叫水平扩容呢?就是我们启动N个节点,然后将数据分布存储到N个节点中,每个阶段存储数据总数量的N分之一。什么意思呢?说明一下啊,比如我现在啊,我们做了这个三个就是节点。那三个节点中再存的话,我的第一个节点存入总数据的就是1/3,第二个节点存入1/3,第三个节点存入1/3,每个节点存入它的N分之一,这是我们说的一个特点,也是RA集群的一个特点。各位把这知道。
10:16
然后咱们再往下看啊,这句话说red集群通过分区提供一定程度的可用性,即使集群中有一部分节点失效或者无法进行通信,集群也可以继续处理命令请求,这好理解,就集群有很多部分,我这部分比如它里边出现问题,那部分可以继续提供服务,这就是关于集群一个介绍,各位把这知道,然后咱们一会儿我就按照这个过程,咱搭建一个就是三主三从,就是六台服务器,模拟出一个进行效果。但是现在我把集训是什么,包括它的特点,包括它解决什么问题,给各位先做一个介绍。
我来说两句