Closed J0HN50N133 closed 3 months ago
其实最开始我就是用openraft实现的,但是当时开发完成后测试下来有问题( 压测时openraft leader 节点优先处理请求,但几乎没有同步到从节点,停止压测流量后,才开始同步到从节点。 这个逻辑不符合raft协议,有丢数据的风险。)。 最后没办法就切换成async-raft重新实现。
具体可以参考 #8
再之后发现async-raft有些场景有点小问题,就拉个分支出来单独调整。后面有什么问题就要自己维护。这个已经发版很久,目前算是比较稳定,没有收到这方面有问题的反馈。
所以目前没有切回openraft的计划。
了解了,压测的代码能否提供给我复现一下?我去openraft那边看看他们是否有修复的意愿
压测工具有放在本项目中 https://github.com/nacos-group/r-nacos/tree/master/loadtest
当时实现openraft版本的代码,在项目git history log中应该能找到。不过当时用的openraft版本应该相对较老,可能不能直接达到你想要的效果。
我可以晚点找一下对应的commit id,推一个当时的分支出来给你试试。
我把之前接openraft的分支openraft_feature推上来了,你可以试试。
了解了,感谢
目前本项目的raft是在
async-raft
的基础上魔改的,而且async-raft
已经很久没有维护了。作者有没有考虑过使用datafuse维护的openraft