如何使用码头工人搭建复述,主从复制的集群

  介绍

这篇文章主要讲解了如何使用码头工人搭建复述,主从复制的集群,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

在主从复制模式的集群里,主节点一般是一个,从节点一般是两个或多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统能切换到从节点去读写数据,这样能提升系统的可用性。而且如果再采用主从复制模式里默认的读写分离的机制,更能提升系统的缓存读写性能,所以对性能和实时性不高的系统而言,主从复制模式足以满足一般的性能和安全性方面的需求。

在实际应用中,如果有相应的设置,在向一台复述,服务器里写数据后,这个数据可以复制到另外一台(或多台)复述,服务器,这里数据源服务器叫主服务器(主服务器),而复制数据目的地所在的服务器叫从服务器(从服务器)。

这种主从复制模式能带来两个好处,第一,可以把写操作集中在主服务器上,把读操作集中到从服务器上,这样能提升读写性能,第二,由于出现了数据备份,所以能提升数据安全性,比如当主复述,服务器失效后,能很快切换到从服务器上读数据。

如果在项目,并发要求不高,或者说哪怕从复述,缓存里读不到数据对性能也不会有太大的损害,那么可以用一主一从的复制模式,效果图如下图所示。

如何使用码头工人搭建复述,主从复制的集群

也可以设置一主多从的复制效果,在下图里,给出对应的效果图,即写到主节点的数据会同步到两个从节点上,其它一主多从的模式和这很相似。

如何使用码头工人搭建复述,主从复制的集群

关于主从复制模式,请大家注意如下的要点。

第一,一个主服务器可以带一个或多个从服务器,甚至从服务器也可以再带从服务器,但在复制数据时,只能把主服务器的数据复制到从服务器上,反之不能。

第二,一台从服务器只能跟随一台主服务器,而不能出现一从多主的模式。

第三,在复述,以2.8后的版本里,是采用异步的复制模式,即进行主从复制时,不会影响主服务器上的读写数据操作。

这里将用码头工人容器来搭建一主二从模式的集群,在配置主从关系时,需要在从节点上使用slaveof命令,具体的步骤如下。

第一步,打开一个命令窗口,在其中运行如下命令创建一个名为redis-master的复述,容器,请注意它的端口是6379 .

码头工人运行itd -名称redis-master - p 6379:6379复述:最新

第二步,再新开一个命令窗口,在其中运行如下命令创建一个名为redis-slave1的容器,请注意它的端口是6380。请注意这里是在一台电脑上运行,所以用端口号来区别一台主复述,容器和另外两台从复述,容器。如果在真实项目里,多台复述,会部署在不同的服务器上,所以可以都用6379端口。

码头工人运行itd -名称redis-slave1 - p 6380:6380复述:最新

第三步,回到包含redis-master容器的命令窗口,在其中运行码头工人检查redis-master命令,查看redis-master容器的信息,在其中能通过IPAddress项看到改容器的IP地址,这里是172.17.0.2。如果在真实项目里,复述,服务器所在的IP地址是固定的,而通过码头工人容器启动的复述,服务器的IP地址是动态的,所以这里要用上述命令来获取IP地址。

第四步,在redis-master容器的命令窗口里,运行码头工人exec - redis-master/bin/bash命令,进入到命令行窗口,在其中用redis-cli命令进入到复述,客户端命令行后,再通过信息复制命令查看当前的主从模式的状态,能看到如下所示的部分结果。

 c: \ work>码头工人exec - redis-master/bin/bash
  # redis-cli root@9433cd584d80:/数据
  127.0.0.1:6379>信息的复制
  #复制
  角色:主
  connected_slaves: 0 

从第第五行的输出里能看的到,当前reids-master容器在主从模式里的角色是“主服务器”,从第6行的输出里能看的到,当前该主服务器没有携带从服务器。

同样再到redis-slave1容器的命令窗口里,通过码头工人exec - redis-slave1/bin/bash命令进入容器的命令行窗口,也通过redis-cli命令进入客户端命令行,也再通过信息复制命令查看该复述,服务器的主从模式的状态,部分结果如下所示。

 c: \ work>码头工人exec - redis-slave1/bin/bash
  # redis-cli root@2e3237c60211:/数据
  127.0.0.1:6379>信息的复制
  #复制
  角色:主
  connected_slaves: 0 

如何使用码头工人搭建复述,主从复制的集群