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示例,展示一个最终一致的分布式数据库。

➡️

继续阅读