-
Notifications
You must be signed in to change notification settings - Fork 330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tendis 读写分离 #200
Comments
Redis/Tendis都支持从节点的读,可以参考Readonly 和Redis cluster 简单的例子
第二个问题 db还在写是指?是指还在使用磁盘io吗。大概率可能是compaction后台活动。 |
第二个问题offset已经一致了, 日志还有 还在写,而且 我主从的db文件大小也不一致,是因为不同的压缩算法导致的吗?中途将snappy 更改了lz4 |
这个是因为你的redis cli加了-c 的选项,在遇到move命令的时候会与新节点建立连接,跳转到新节点上,从node1:51003 跳转到了node2:51002,这个时候就已经变成连接到主节点了。和slave可不可读没什么关系了。然后你再get hello的话,就会从node2:51002 再move 到 node1: 51002。如果你不需要跳转的逻辑,可以去掉-c的选项。这样当你连接51003的时候,属于本机的数据可读,不属于本机的数据,就会返回move,redis cli也不会自动跳转到其他节点了。因为slave也没其他槽位的数据,所以也只能返回move。 第二个问题是,主从上对于存入rocksdb的用户数据是完全一致的,binlog数据受主从不同的binlog回收调度导致数据量不一致,另外就是像rocksdb的compaction等操作在主从节点都不会完全一致,主从节点数据目录大小不一致很正常。 |
第二个get了 |
需求理解了,你这个需求就只能修改代码做定制化了。 ClusterState::clusterHandleRedirect |
copy that thx |
|
Description
tendis集群的slave节点能支持读吗?或者可配请求的分布,比如3主3从, 3从(80%的读) + 3主(100%的写+20%的读)

实际业务中对读的要求较高。希望能通过从的水平扩展增大并发,即使数据尚未同步到从也可以接受短暂的延迟。
1当前从只是冷备功能吗?测试发现即使数据在自身,收到的请求也会Redirected到其所在的master
2 集群的从同步进度如何查看呢? 发现info replication的offset和master一致了 但是db还在写。
辛苦,感谢大佬答疑
The text was updated successfully, but these errors were encountered: