redis集群创建

背景

之前工作中接触到redis OPS居高不下,所以需要将其扩展为redis-cluster。

实现

首先了解一个概念,并不是OPS越高越好,OPS虽然可以反映redis处理能力,但是因为redis是单线程使用,只会使用到一个核。所以需要使用到集群。redis版本是6.2.6;所以集群也使用该版本。

机器规划

在资源受限的情况下,我们可以考虑使用三台服务器搭建一套三主三从服务器:

IP 内存 CPU
192.168.0.100 4G 2C
192.168.0.101 4G 2C
192.168.0.102 4G 2C

这里是一个通用模板,具体配置需要根据场景来设定,以下是一些例子,仅作参考:

场景一: 小型业务系统

  • 数据量:50GB
  • 业务请求量:中等,QPS在1万左右
  • 高可用性:需要基本的高可用,主从架构(3主3从)

根据这些信息,我们大概可以推测每个节点负责1/3的数据量,因为redis大部分操作都是单线程,再根据主从架构,也就是说最少需要6个核心。

内存需求:

  • 每个主节点的内存需求 = 50GB / 3 ≈ 16.67GB
  • 预留20%用于缓存和其他操作,所以每个主节点需要大约 20GB 内存。
  • 每个从节点需要和主节点相同的内存,因此从节点每个也需要20GB
  • 整个集群的内存需求 = 3(主)× 20GB + 3(从)× 20GB = 120GB

最后推断出:

CPU需求:至少6个核心(3主3从,每个实例1核心)。

内存需求:总计120GB(每个节点20GB,3主3从)

ansible

redis6版本开始部署集群变得简单起来,不像之前需要使用Ruby来创建。

优化

redis进程保活

redis进程绑核

进一步提升

  • 如何有效扩容节点?
  • 怎么

redis集群创建
http://example.com/2024/09/18/redis集群创建/
Author
John Doe
Posted on
September 18, 2024
Licensed under