redis 集群高可用调研方案
redis 集群部署
- Redis集群的原理和搭建 - 掘金 redis集群和原理
- 运维派-Linux运维技术社区,Linux教程,云计算学习平台,Devops工具下载站 redis sentinel 实现集群
- https://my.oschina.net/xinxingegeya/blog/646641 Sentinel实现Redis集群的高可用
- Redis-sentinel哨兵模式集群方案配置_眼眸刻着你的微笑的技术博客_51CTO博客 Redis-sentinel哨兵模式集群方案配置
- Redis之——搭建高可用及负载均衡的Redis_冰 河的博客-CSDN博客_redis如何实现负载均衡 Reidis Keepalived
- 全面剖析Redis Cluster原理和应用_cdai的博客-CSDN博客_rediscluster原理 全面剖析Redis Cluster原理和应用
java -redis 集成
- java代码中操作Redis:单机redis、集群redis(spring+redis集成)_孤天浪雨的博客-CSDN博客_java操作redis集群 java代码中操作Redis:单机redis、集群redis(spring+redis集成)
- https://my.oschina.net/u/3786091/blog/1632316 Spring Boot+Spring Data Redis访问redis cluster
- nredis-proxy 高性能Redis 服务中间件 - liubingsmile的个人空间 - OSCHINA - 中文开源技术交流社区 (redis 集群中间件)
- redis集群主流架构方案分析_u011277123的博客-CSDN博客_redis 集群架构方案 redis集群主流架构方案分析
jedis client调研
lettuce 调研 (netty 多线程客户端)
- lettuce 4.5.0.Final API
- https://github.com/lettuce-io/lettuce-core/wiki/Getting-started-(5.0)
jedistemplate (spring-data-redis) jedistemplate 是对 jedisconnection 的一个抽象封装, 1.8+的版本使用 luttuce 进行 jedis 连接封装
- Spring Data Redis
redisson (alibaba 等很多大公司再用)
- https://github.com/redisson/redisson#quick-start
- Redisson PRO - Redis Java client with ultra-fast performance (升级版)
Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. State of the Art Redis client
redis 集群测试
- redis 负载均衡 集群配置 - ayanmw - 博客园 redis 负载均衡 集群配置 +部署脚本
- redis及集群性能测试_骨灰级菜鸟-程序猿的博客-CSDN博客_redis集群性能测试 redis及集群性能测试+运维 推荐指数 5星
- redis4.0、codis、阿里云redis 3种redis集群对比分析-阿里云开发者社区 redis4.0、codis、阿里云redis 3种redis集群对比分析
可能遇到的问题
- 在现有 redis 不关的情况下,的数据迁移和数据集群分片问题
- 现有 javar-redis 连接池的改造 pool template
- 多节点的配置问题 (动态添加节点的java热更新问题,)
说明
- redis cluster 至少需要6台redis ,redis 一台master 至少有一台对应的 slave
- redis 集群方案有 sentinel +主从 或者是 cluster 分片,
- cluster 自动维护集群状态,故障处理,掉线主机上线等
- sentinel 可以和 cluster 同时存在管理主机
-
ps -ef | grep redis | awk '{print $2}' | xargs kill -9 关闭一台服务器上的所有 redis
redis 集群主流架构方案
- nginx+redis master+work
- client+proxy+redis cluster
- jedistemplate jedispool
mset/mget 解决方案
- https://my.oschina.net/u/1266221/blog/894308
商用redis 集群架构
- 全面剖析Redis Cluster原理和应用_cdai的博客-CSDN博客_rediscluster原理
- 360自研分布式存储系统Bada的架构设计和应用-架构-火龙果软件 360bada https://github.com/Qihoo360?page=2
- redis cluster使用经验 - Redis - 数据库相关 - 深度开源 有道 redis cluster Redis cluster 的使用经验 - Redis - 数据库相关 - 深度开源 使用经验
- AliRedis单机180w QPS, 8台服务器构建1000w QPS Cache集群 - Redis - 数据库相关 - 深度开源 AliRedis单机180w QPS, 8台服务器构建1000w QPS Cache集群
- Redis集群方案总结 - 简书 codis
- 豆瓣 Reborndb
- Redis Cloud Redis Enterprise
优化方案
- 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战 - Redis - 服务器软件 - 深度开源 有道 800+ 节点
- /docs/manual/scaling/ redis 官方文档
- Redis Cloud Redis Enterprise
监控
- https://github.com/projecteru/redis-ctl 芒果 tv 最近更新时间15年
中间件对比

- codis 豌豆荚开发的 redis 中间件 go 语言,使用脚本部署, github 仍然在维护
- http://bbs.redis.cn/forum.php?mod=viewthread&tid=2031&extra=page%3D1 predixy:一款高性能redis集群代理 https://github.com/joyieldInc/predixy
性能测试
- Redis压力测试报告_恐龙弟旺仔的博客-CSDN博客_redis压测 . Redis压力测试报告


集群搭建和调研过程中遇到的问题
- redis-trib.rb 在创建集群的过程中如果不使用 create --replication 1 而是 直接使用 create 那么都是主节点,也就是说集群可以没有从节点
- redisson 会根据 cluster nodes 的返回结果,使用 map 设置 cluster node
- redission 分为 clusterserver, replicationserver,mastersalveserver 模式.不同的模式对应不同的 redis 集群架构
- redission 中的 map-reduce 在 redisson 3.9.0 版本中存在线程 await 的状况
- redission 在进行编译官方 github 的 源代码的时候,出现在-- realase help 1 的错误的解决方案是 将 build 中将 release 标签注释掉
- redisson 默认使用 json 设置字符串格式,但是可以通过 codsec 进行更改 decode 和 encode 格式
- redisson 中使用 batch 命令进行, mset 的操作.
- redis-trib.rb 在搭建集群的过程中,即使在同一台机器上也要使用 ip 地址+port 不是使用 127.0.0.1,这样子方便器群迁移
- redis 可以在运行中设置 config set protect no 开启 允许远程连接
- vim 在 mac 上在 user 目录下没有 .vimrc 这个文件
- vim 在 mac 上默认是 readonly
- io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework netty 默认的日志框架是 slf4j ,只有在 pom 文件中引入 slf4j 的包才能在控制台打印日志
- redisson 和 lettuce 默认都使用了 pool, 默认建立5个连接
- redisson 和 lettuce 都是使用 cluster nodes 进行集群探活的
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
