有一个多中心的卡桑德拉环境。并设置一致性级别=本地仲裁。我想知道本地数据中心和其他数据中心的延迟时间,我的意思是当数据被成功写入时,以及其他数据中心可以拥有副本的时间。
卡桑德拉没有公开这个指标。发现在org.apache.cassandra.service.StorageProxy.mutate方法中收集了书面信息。
并希望在其中添加代码来实现对数据中心延迟的采集。但是问题是卡桑德拉写完当写一致性级别的数字成功时,我不能阻止写事务。
如何保持写备忘录和写merics之间的同步
不知道去on.anybody有没有实现这一点的想法,请帮忙看看。
发布于 2016-05-04 14:13:05
现在没有任何东西可以直接使用,但是在卡桑德拉-11569有一个带有补丁的票证。
你可以同时尝试一些技巧。
在跟踪突变时,这些指标中有一些存在问题。Cassandra将通过一个代理写入(vs协调器实际上发送到每个节点)来支持DC中的所有写入。如果该节点击中GC,则很可能会得到一个尖峰。在极端情况下,投机性重试将有助于影响延迟,但这样您就不会真正跟踪原始的交叉dc延迟。也许只想考虑一下"ping“。
https://stackoverflow.com/questions/37023418
复制相似问题