当前位置:网站首页 > 技术博客 > 正文

k8s搭建redis三主三从集群



文章目录

一 基本概念

Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制模式(Master-Slave)、哨兵模式(Sentinel)和Cluster模式。Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为槽位。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储。Redis Cluster将数据分为16384个槽位,每个节点负责管理一部分槽位。当客户端向Redis Cluster发送请求时,Cluster会根据键的哈希值将请求路由到相应的节点。具体来说,Redis Cluster使用CRC16算法计算键的哈希值,然后对16384取模,得到槽位编号。

二 部署流程

2.1 准备配置文件

准备6个配置文件,在当前工作目录创建conf目录,将配置文件放置于conf目录下面。配置文件具体内容如下(IP为搭建主机的本机IP): 第一个配置文件redis-01.conf:

第二个配置文件redis-02.conf:

第三个配置文件redis-03.conf:

第四个配置文件redis-04.conf:

第五个配置文件redis-05.conf:

第六个配置文件redis-06.conf:

2.2 启动6个 Docker 容器
2.3 集群搭建

进入其中一个节点:

输入以下命令,IP为搭建主机的本地IP:

待通信完成后,查看集群信息。显示内容如下则搭建成功:

查看集群节点信息:

三 总结

1、目前使用容器部署Docker仅能使用host这种网络模式,其他模式暂未实验成功,如果有了解的小伙伴欢迎赐教; 2、使用host网络模式部署集群是因为Redis除了节点暴露端口之外,还有需要开放一个集群总线端口,官网说明:Every Redis Cluster node requires two open TCP connections: a Redis TCP port used to serve clients, e.g., 6379, and second port known as the cluster bus port. By default, the cluster bus port is set by adding 10000 to the data port (e.g., 16379); however, you can override this in the cluster-port configuration; 3、需要注意的是:本文使用一台主机部署6个节点的集群,仅用于开发、测试环境,一般不用于生产环境。如需在多台主机部署集群,请根据实际情况对IP和端口进行规划,但需确保各主机之间能够正常通信。

版权声明


相关文章:

  • usermod -s使用详解2025-07-12 20:01:03
  • 警花小说名字2025-07-12 20:01:03
  • echarts第一个点在原点2025-07-12 20:01:03
  • libxml2-devel2025-07-12 20:01:03
  • 主流数据库管理系统2025-07-12 20:01:03
  • 网格空间索引的基本原理2025-07-12 20:01:03
  • seq1m2025-07-12 20:01:03
  • windows 封装2025-07-12 20:01:03
  • windows找不到gpedit文件2025-07-12 20:01:03
  • rownum oracle用法2025-07-12 20:01:03