企业—redis的集群,添加新节点及集群重新分片

本文详细介绍了Redis集群的原理和优势,包括数据分片的哈希槽概念。接着,展示了如何部署Redis集群,创建并启动多个实例。接着添加新节点到集群中,手动和自动分配哈希槽,确保新节点参与数据存储。最后,讨论了集群的重新分片和节点移除的过程,强调了在操作中需注意的数据迁移和集群稳定性。
摘要由CSDN通过智能技术生成

一.redis集群简介

1.集群

集群是一组相互独立的、通过高速网络互相联通的节点,构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群就是一个独立的服务器。

集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。能在大流量访问下提供稳定的业务,集群化是存储的必然形态。

2.redis集群

Redis 集群是一个提供在多个Redis节点之间共享数据的程序集。

Redis 集群并不支持同时处理多个键的 Redis 命令,因为这需要在多个节点间移动数据,这样会降低redis集群的性能,在高负载的情况下可能会导致不可预料的错误。

Redis 集群通过分区来提供一定程度的可用性,即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。

3.redis集群的优势

缓存永不宕机:启动集群,永远让集群的一部分起作用。主节点失效了子节点能迅速改变角色成为主节点,整个集群的部分节点失败或者不可达的情况下能够继续处理命令;

迅速恢复数据:持久化数据,能在宕机后迅速解决数据丢失的问题;

Redis可以使用所有机器的内存,变相扩展性能;

使Redis的计算能力通过简单地增加服务器得到成倍提升,Redis的网络带宽也会随着计算机和网卡的增加而成倍增长;

Redis集群没有中心节点,不会因为某个节点成为整个集群的性能瓶颈;

异步处理数据,实现快速读写。

4.redis集群的数据分片

Redis 集群没有使用一致性hash,而是引入了哈希槽的概念。

Redis 集群内置了16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽。集群的每个节点负责一部分hash槽

  • 举例说明如下:
    比如当前集群有3个节点,那么:

节点 A 包含 0 到 5500号哈希槽.
节点 B 包含5501 到 11000 号哈希槽.
节点 C 包含11001 到 16384号哈希槽.

这种结构很容易添加或者删除节点.
比如如果我想新添加个节点D,我需要从节点 A, B, C中得部分槽到D上.
如果我想移除节点A,需要将A中的槽移到B和C节点上,然后将没有任何槽的A节点从集群中移除即可.

由于从一个节点将哈希槽移动到另一个节点并不会停止服务,所以无论添加删除或者改变某个节点的哈希槽的数量都不会造成集群不可用的状态.

二.redis集群部署

1.实验环境

  • server1(172.25.254.1):已下载redis
  • 查看端口如果数据库端口和redis主从复制端口将其关掉
    在这里插入图片描述
    2.rediscluster的部署

搭建集群的第一件事情我们需要一些运行在

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值