Memberlist 0.6: An Asynchronous Runtime-Insensitive Gossip Implementation for Cluster Membership Management and Member Failure Detection.
💡
原文英文,约200词,阅读约需1分钟。
📝
内容提要
该文章介绍了memberlist库的更新,包括新增send_many和send_many_reliable功能,重设计Transport特性,支持多种压缩和校验和算法,统一错误返回,移除旧支持,并增加toydb示例和模糊测试。
🎯
关键要点
- 更新了memberlist库,版本为0.6.5。
- 新增send_many功能,允许用户通过不可靠连接发送多个数据包。
- 新增send_many_reliable功能,允许用户通过可靠连接发送多个数据包。
- 重设计Transport特性,使用户更容易实现。
- 重写编码/解码以支持前向和后向兼容性。
- 支持多种压缩算法,包括zstd、brotli、lz4和snappy。
- 支持多种校验和算法,包括crc32、xxhash64、xxhash32、xxhash3和murmur3。
- 统一错误返回,所有导出API在Result::Err时返回Error。
- 增加toydb示例,展示一个最终一致的分布式数据库。
- 移除native-tls支持。
- 移除s2n-quic支持。
- 移除Wire特性以简化Transport特性。
- 移除JoinError,增加新的Error::Multiple变体。
- 增加模糊测试以测试编码/解码。
❓
延伸问答
memberlist库的最新版本是什么?
memberlist库的最新版本是0.6.5。
send_many和send_many_reliable功能有什么区别?
send_many允许通过不可靠连接发送多个数据包,而send_many_reliable则允许通过可靠连接发送多个数据包。
memberlist库支持哪些压缩算法?
memberlist库支持zstd、brotli、lz4和snappy等压缩算法。
如何实现memberlist库的Transport特性?
memberlist库重设计了Transport特性,使用户更容易实现。
memberlist库中增加了哪些新的错误处理方式?
所有导出API在Result::Err时返回统一的Error,并增加了新的Error::Multiple变体。
memberlist库中增加了什么示例?
增加了toydb示例,展示一个最终一致的分布式数据库。
➡️