96SEO 2026-02-20 00:40 17
集群常见问题【Question1】数据分片怎么分【Question2】数据分片之后怎么查怎么写【Question3】如何做到水平扩展【Question4】如何做故障转移

Redis-Alone单机模式Redis-Master/Slaver主从复制模式Redis-Sentinel哨兵模式Redis-Cluster集群模式
高可用集群模式接下来我们详细讲解这几种模式原理以及各自的优缺点。
成本。
成本低没有备用节点不需要其他的开支。
高性能单机不需要同步数据数据天然一致性。
存在单点故障问题可靠性保证不是最佳单节点有宕机的风险。
单机高性能受限于
Redis-Sentinel哨兵模式即可满足需求但是在中大型规模的业务系统中还是推荐使用
的只能由主节点到从节点。
主节点用于写入数据从节点用于读取数据。
IP:PORT角色172.17.97.27:6379master172.17.97.27:6380slaveof/replicaof172.17.97.27:6381slaveof/replicaof
在程序设计上为了高可用性和高性能是允许有冗余存在的。
这点希望大家在设计系统的时候要考虑进去不用为公司节省这一点资源。
读能力分担主节点读压力。
高可用基石除了上述作用以外主从复制还是
Redis-Master/Slaver主从复制模式当主节点宕机之后从节点是可以作为主节点顶上来继续提供服务的。
已经变动了此时应用服务还是拿着原主节点的地址去访问这在生产环境就很尴尬了整个过程得需要人工介入。
此处规划信息如下1个主节点3个从节点和3个哨兵节点一主三从三哨兵
哨兵节点Sentinel哨兵系统由一个或多个哨兵节点组成哨兵节点是
节点不存储数据。
数据节点主节点Master和从节点Slaver都是数据节点数据冗余。
集群出现了问题比如刚刚说的主节点挂了从节点会顶上来。
但是主节点地址变了这时候应用服务无感知也不用更改访问地址因为
哨兵模式是基于主从模式的所有主从的优点哨兵模式都具有。
主从可以自动切换系统更健壮可用性更高。
Sentinel
主从复制集不能解决故障自动恢复问题因此产生了哨兵模式解决故障自动恢复那到底为啥还要
之前的两种模式数据都是在一个节点上的单个节点的存储是有上限的。
集群模式就是把数据进行
个槽https://zhuanlan.zhihu.com/p/99037321
versionRole172.17.97.27:6479openEuler
x86_64redis:7.2.3-alpine3.18master172.17.97.27:6579openEuler
x86_64redis:7.2.3-alpine3.18master172.17.97.27:6679openEuler
x86_64redis:7.2.3-alpine3.18master172.17.97.27:6779openEuler
x86_64redis:7.2.3-alpine3.18slave/replica172.17.97.27:6879openEuler
x86_64redis:7.2.3-alpine3.18slave/replica172.17.97.27:6979openEuler
x86_64redis:7.2.3-alpine3.18slave/replica
net.ipv4.conf.all.send_redirects
net.ipv4.conf.default.send_redirects
net.ipv4.conf.all.accept_source_route
net.ipv4.conf.default.accept_source_route
net.ipv4.conf.all.accept_redirects
net.ipv4.conf.default.accept_redirects
net.ipv4.conf.all.secure_redirects
net.ipv4.conf.default.secure_redirects
net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_ignore_bogus_error_responses
net.ipv4.conf.default.rp_filter
net.ipv6.conf.all.accept_redirects
net.ipv6.conf.default.accept_redirects
https://blog.csdn.net/cnwyt/article/details/118995722
4bf716f827a140f84bb59db89f8377c52b148348
172.17.97.27:6479slots:[0-5460]
7e0aaa6b7759810a8a7a9d91720ed280f9c769a2
172.17.97.27:6579slots:[5461-10922]
c28eb34736d38df46e5f305f85e6245a5e88f04b
172.17.97.27:6679slots:[10923-16383]
db205fb27e8bd7a987f5263fc00ce5ce9d00a4c7
7e0aaa6b7759810a8a7a9d91720ed280f9c769a2
2fe228281014ea89de0e86ee68922dfde6c3999b
c28eb34736d38df46e5f305f85e6245a5e88f04b
741eec69159a16b74c73e5a981d1a11307b41967
4bf716f827a140f84bb59db89f8377c52b148348
4bf716f827a140f84bb59db89f8377c52b148348
172.17.97.27:6479slots:[0-5460]
c28eb34736d38df46e5f305f85e6245a5e88f04b
172.17.97.27:6679slots:[10923-16383]
741eec69159a16b74c73e5a981d1a11307b41967
4bf716f827a140f84bb59db89f8377c52b148348
db205fb27e8bd7a987f5263fc00ce5ce9d00a4c7
7e0aaa6b7759810a8a7a9d91720ed280f9c769a2
2fe228281014ea89de0e86ee68922dfde6c3999b
c28eb34736d38df46e5f305f85e6245a5e88f04b
7e0aaa6b7759810a8a7a9d91720ed280f9c769a2
172.17.97.27:6579slots:[5461-10922]
问题是集群更佳健壮和高可用相应的数据采用分片存储redis-cluster
172.17.97.27:6679接下来我们详细叙述如何采用容器化
/home/jeff/docker/redis-cluster
redis-down.shredis-compose.yaml
services:redis6479:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6479/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6479/logs:/logsredis6579:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6579/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6579/logs:/logsredis6679:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6679/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6679/logs:/logsredis6779:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6779/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6779/logs:/logsredis6879:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6879/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6879/logs:/logsredis6979:network_mode:
redis:7.2.3-alpine3.18container_name:
/usr/local/etc/redis/redis.conf]logging:driver:
./redis6979/redis.conf:/usr/local/etc/redis/redis.conf-
./redis6979/logs:/logsredis.conf
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;
/home/jeff/docker/redis-cluster;echo
/home/jeff/docker/redis-cluster
/home/jeff/docker/redis-cluster/redis-compose.yaml
7aaf8e48ca3807ede36dbec999dacbf5f8640650
172.17.97.27:6479slots:[0-5460]
ef9705329a431960c5f89d7e4928b1fda90f77f1
172.17.97.27:6579slots:[5461-10922]
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
172.17.97.27:6679slots:[10923-16383]
d2b927276d4f603c05f66b5148553ab0ee06be73
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
9329e3afdc5bc2bff031770efa3a7168ef1a0b83
7aaf8e48ca3807ede36dbec999dacbf5f8640650
bbc04f53247738b0edaa8efa2b86daef072a2989
ef9705329a431960c5f89d7e4928b1fda90f77f1
7aaf8e48ca3807ede36dbec999dacbf5f8640650
172.17.97.27:6479slots:[0-5460]
d2b927276d4f603c05f66b5148553ab0ee06be73
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
172.17.97.27:6679slots:[10923-16383]
bbc04f53247738b0edaa8efa2b86daef072a2989
ef9705329a431960c5f89d7e4928b1fda90f77f1
ef9705329a431960c5f89d7e4928b1fda90f77f1
172.17.97.27:6579slots:[5461-10922]
9329e3afdc5bc2bff031770efa3a7168ef1a0b83
7aaf8e48ca3807ede36dbec999dacbf5f8640650
d2b927276d4f603c05f66b5148553ab0ee06be73
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
ccf56f0a5d50c34337586c9c1dc6d00ce6c7ef82
bbc04f53247738b0edaa8efa2b86daef072a2989
ef9705329a431960c5f89d7e4928b1fda90f77f1
ef9705329a431960c5f89d7e4928b1fda90f77f1
9329e3afdc5bc2bff031770efa3a7168ef1a0b83
7aaf8e48ca3807ede36dbec999dacbf5f8640650
7aaf8e48ca3807ede36dbec999dacbf5f8640650
cluster_stats_messages_ping_sent:746
cluster_stats_messages_pong_sent:748
cluster_stats_messages_sent:1494
cluster_stats_messages_ping_received:743
cluster_stats_messages_pong_received:746
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:1494
total_cluster_links_buffer_limit_exceeded:0至此我们规划的
每种模式都有各自的优缺点在实际使用场景中要根据业务特点去选择合适的模式。
如果作为一个很好的中间件去研究的话还是有很多值得学习和借鉴的地方。
比如
的各种数据结构(动态字符串、跳跃表、集合、字典等)、高效的内存分配(jemalloc)、高效的IO模型等等。
每个点都可以深入研究在后期设计高并发、高可用系统的时候融入进去。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback