当前位置:网站首页>Redis之cluster集群
Redis之cluster集群
2022-07-06 08:59:00 【~庞贝】
Redis之cluster集群
1.集群介绍
集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果
2.集群作用
1.分散单台服务器的访问压力,实现负载均衡
2.分散单台服务器的存储压力,实现可扩展性
3.降低单台服务器宕机带来的业务灾难
3.集群数据存储设计
%16384是取模运算
如果又添加了一个服务器,或者有一个服务器突然宕机了,怎么办?
37所在的小方框叫作”槽“
如果现在又添加了一个服务器,或者有一个服务器突然宕机了,怎么办?
如下举例是3个服务器,又添加了一个服务器,变成了4个,则其他三个服务器每人掏出来一部分key给新来的服务器,进行优化。
所谓的增添节点与去节点其实是改变槽所存储的位置
4.集群内部通讯设计
1.加入现在有客户端进行访问数据库,进行key的查找,key被经过两个算法计算以后,得到key对应的存储槽的位置,假如计算的结果是A里面的35号槽,如果一次命中的话就直接返回,没有命中的话,35号槽会根据这个key进行查找,告诉客户端是在B那个槽里面,客户端会再去B里面的槽进行查找(注意:不是A去查找,是客户端再去查找,避免客户端自己多次去别的地方自己一个个挨着找)
2.最多两次即可命中
注意:各个数据库里面的槽的编号不一定是连续的,是散的
5.集群搭建方式
1.原生安装(单条命令)
1)配置服务器(3主3从)
2)建立通信(Meet)
3)分槽(Slot)
4)搭建主从(master-slave)
2.工具安装(批处理)
6.cluster配置
1.cluster-enabled yes|no
把该服务器添加为节点
2.cluster-config-file
cluster配置文件名,该文件属于自动生成。
如果我们给指定名字的话,会自动生成该指定名字的cluster-config-file ;
如果我们给未指定名字的话,会自动生成一个默认名字的cluster-config-file ;
举例:cluster-config-file nodes-6379.conf
仅用于快速查找文件并查询文件内容。
(注:我们尽量给指定名字,因为在大量节点的情况下默认生成的cluster-config-file文件名字都一样,容易混淆)
3.cluster-node-timeout
节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
4.cluster-migration-barrier
master连接的slave最小数量
7.cluster节点操作命令
1.查看集群节点信息
cluster nodes
2.进入一个从节点 redis,切换其主节点
cluster replicate <master-id>
3.发现一个新节点,新增主节点
cluster meet ip:port
4.忽略一个没有solt的节点
cluster forget <id>
5.手动故障转移
cluster failover
8.redis-trib命令
redis-trib相当于一个脚本,把cluster的一些命令进行优化,实际中用cluster自带的命令或者redis-trib命令都可以
1.添加节点
redis-trib.rb add-node
2.删除节点
redis-trib.rb del-node
3.重新分片
redis-trib.rb reshard
边栏推荐
- Nacos installation and service registration
- [Hacker News Weekly] data visualization artifact; Top 10 Web hacker technologies; Postman supports grpc
- LeetCode:394. String decoding
- Advance Computer Network Review(1)——FatTree
- Advance Computer Network Review(1)——FatTree
- [OC foundation framework] - [set array]
- CSP first week of question brushing
- CSP salary calculation
- 在QWidget上实现窗口阻塞
- Seven layer network architecture
猜你喜欢
多元聚类分析
I-BERT
Advanced Computer Network Review(5)——COPE
MySQL uninstallation and installation methods
KDD 2022 paper collection (under continuous update)
Export IEEE document format using latex
Improved deep embedded clustering with local structure preservation (Idec)
Booking of tourism products in Gansu quadrupled: "green horse" became popular, and one room of B & B around Gansu museum was hard to find
Problems encountered in connecting the database of the project and their solutions
Pytest parameterization some tips you don't know / pytest you don't know
随机推荐
Advanced Computer Network Review(4)——Congestion Control of MPTCP
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
[OC foundation framework] - string and date and time >
Using label template to solve the problem of malicious input by users
LeetCode:673. Number of longest increasing subsequences
Export IEEE document format using latex
Redis之五大基础数据结构深入、应用场景
Once you change the test steps, write all the code. Why not try yaml to realize data-driven?
LeetCode:394. 字符串解码
Nacos installation and service registration
使用标签模板解决用户恶意输入的问题
I-BERT
IJCAI2022论文合集(持续更新中)
The carousel component of ant design calls prev and next methods in TS (typescript) environment
[today in history] February 13: the father of transistors was born The 20th anniversary of net; Agile software development manifesto was born
Selenium+Pytest自动化测试框架实战
七层网络体系结构
postman之参数化详解
Advanced Computer Network Review(3)——BBR
LeetCode:26. 删除有序数组中的重复项