这是一篇对Redis集群的入门介绍,这里不会使用复杂难懂的分步式系统概念。这里提供的指导有集群 的安装、测试,和操作,不函盖Redis集群规范中的细节,而只是站在用户的角度来描述系统的行为方式。

     这个教程试图从最终用户角度,以简单易懂的方式来讲解Redis集群高可用性和一至性的特点。

     注意,这个教程需要redis的版本为3.0及以上版本。

     如果你打算运行更严格的Redis集群部属,即使不是特别的需要 ,也非常建议阅读正式的规范。当然从这篇文档开始也是不错的主意,花一些时间在Redis集群上,然后再阅读规范。

Redis Cluster 101

     Redis集群提供 数据自动分片到多个Redis节点的方式运行Redis实例,Redis 集群在分区期间提供了一定程度的可用性,实际上是当节点挂掉或不能通信时继续运行的能力。然而会在重大故障情况下Redis会停止运行(eg.绝大多数的主节点不可用)

     在实际情况中,你想从Redis集群中得到什么呢?

     》自动分割数据集到多个节点的能力

     》子节点故障或者不能和集群内的其它节点通信时,继续运行的能力

 

Rdis Cluster TCP 端口

     每个Redis集群节点需要打开两个TCP连接。一个用于服务端和客户端连接的一般端口,例好6379,另一个端口是通过数据端口加10000得到,这个例子中是16379。第二个较高的端口用于集群总线,这是一个使用二进制协议端到端的通信通道。集群通道用于节点的故障侦查,配置更新,故障转移授权等。客户端总是和正常的Redis命令端口通信 ,永远不要尝试和集群总线通信.请确保你的防火墙开放这两个端口,不然集群节点不能相互通信。

     命令端口和集群总线端口偏移是固定的,偏移量总是10000.

     注意为了Redis集群正常的工作,对每一个节点:

     1.用于和客户端通信的标准通信端口(通常是6379)对所有需要和联系集群和集群其它节点(使用用于键迁移的客户端端口) 的客户端开放。

     2.集群总线端口(客户端端口+10000)必须可以被集群的其它节点访问到。

    

Redis集群和Docker

&nbs

网友评论