刘源远 @shihuili1218
《深入理解分布式共识算法》作者
刘源远@shihuili1218 主要研究金融、区块链领域,发表有《深入理解分布式共识算法》。
让用户自定义 Closure 执行和 AppendEntry 线程池,改变线程池的行为。
提供 Raft Group 之间的线程隔离,使得程序更加健壮。
线性一致性读支持到业务请求级别,不再是全局控制,更为灵活。
提供 Release 时自动发布程序。
修复 RheaKV Leader 断连后的重试。
增加 jraft.bolt.conn.reconnect 参数,提供重连控制。
2024 年 8 月 13 日,SOFAJRaft(社区)PMC之一 冯家纯@fengjiachun 代表 SOFAJRaft(社区),宣布 刘源远 通过投票,成为社区 Committer!
成员突出贡献
1. 让用户自定义 Closure 执行和 AppendEntry 线程池,改变线程池的行为。
在 SOFAJRaft 中,Closure 和 AppendEntry 是非常关键的部分。Closure 通常用于处理客户端的请求,完成数据复制后,执行对应的回调函数;而 AppendEntry 则是用于将日志条目追加到日志中。
资源分配:不同的操作对 CPU、内存等资源的需求不同。如果所有操作共享同一个线程池,可能会导致资源的竞争,降低整体性能。 优先级处理:有些操作可能比其他操作更为关键,比如日志追加可能比回调执行更重要。如果能为它们分配不同的线程池,就可以更好地进行优先级管理。
因此,允许用户自定义这些线程池,意味着用户可以根据自己的需求来配置和优化系统的性能表现。例如,可以为高优先级操作分配更多的线程,或者为耗时操作单独设置线程池,避免影响其他操作。
某些读操作可能对一致性要求不高:比如监控数据的读取,不需要与写操作强一致性,只需保证较低的延迟即可。 有些读操作则必须确保强一致性:如金融交易系统中的余额查询,必须读取最新的、完全一致的数据。
https://github.com/sofastack/sofa-jraft/pull/1141
https://github.com/sofastack/sofa-jraft/pull/1140
https://github.com/sofastack/sofa-jraft/pull/1139
成员感想
作为一名开源社区的新晋 Committer,我感到无比激动和自豪。这不仅是对我过去贡献的认可,更是一种新的责任和使命。我深知,Committer 的角色意味着我将在项目的发展中扮演更加关键的角色,这既是一种荣誉,也是一种挑战。
我深知,开源社区的成功离不开每一位贡献者的努力。作为 Committer,我将更加积极地帮助新人融入社区,解答他们的问题,并引导他们为项目做出贡献。我希望能与大家共同努力,推动项目的发展,让更多的人受益于我们的工作。
另外,同时呼吁新同学积极参与进来,社区的友好超乎你的想象。在我的第一次 PR 中,仅仅是为一行注释增加了一个空格,所以同学们只要敢迈出第一步,社区非常欢迎。
社区同学寄语
感谢刘源远@shihuili1218 一直以来为 SOFAJraft 项目做出的巨大贡献!期待未来继续和源远一起,让 SOFAJraft 变得更好!
欢迎「阅读原文」参与共建:
https://github.com/sofastack/sofa-jraft