redis - Redis 从 3.0.7 升级到 5
问题描述
我有大量运行 3.0.7 的 Sentinel 和 Cluster 服务器,需要升级到 5。我无法承受停机时间。有人可以建议我怎么做吗?一些数据库太大以至于服务器无法分配新的/第二个实例,以防万一这里的最佳解决方案是在同一台服务器上午餐一个新的 Redis 5 并将其设置为 3.0.7 的从属。
1)我可以直接从3.2到5还是我需要先跳到4?
2)从这里读取从3.3 升级到 4 时需要大规模重启。有什么方法可以避免停机?如何重建原始集群数据?备份还原?
欢迎任何建议。
解决方案
您可以更改 redis 5.0 集群总线协议以使其与 3.0.7 兼容。
Redis 5.0 的集群总线协议为 1,而 redis 3.0.7 的集群总线协议为 0。
您必须注意以下2个差异:
- 集群总线协议 1 支持模块消息,而协议 0 不支持。
- 集群总线协议 1 的 ping 消息有一个额外的“cport”字段。
推荐阅读
- angularjs - 来自数据库AngularJS Jasmine的对象长度单元测试
- javascript - 模态工作错误
- ios - 代表返回 nil 并且没有被调用
- node.js - Firebase Stripe(错误)承诺必须妥善处理
- netlogo - 如何在 netlogo 的多个程序中使用 to-report
- c# - 使用 DotRas 创建的 IKEv2-VPN 中的远程 ID
- reactjs - 将路由分组为内部组件的 React Router Switch 语句不会转到 Not Found 路由
- qt - 如何在 ipad 中运行 QT Designer Studio 应用程序
- css - 响应式两个渐变对角按钮
- java - 如何解决spring boot应用程序中的错误