[改进后的中文总结内容]

本次会议主要讨论了Ceph的Blue Store缓存设计和Messenger 2协议的改进。

一、Blue Store 缓存设计

讨论要点

  • I/O路径更新:自Juwell版本发布以来,I/O路径已完全重写,元数据结构略有不同,引入了逻辑引用和Blob,Blob可压缩或非压缩,可能包含校验数据。
  • 缓存设计:Blue Store需要高效地修剪,并管理自己的缓冲区缓存。主要问题是如何在Blue Store中实现缓存,以及使用哪种缓存替换算法。
  • 缓存结构:
    • 全局缓存:简单易实现,但可能导致缓存争用和性能下降。
    • 按集合缓存:每个集合拥有独立的缓存,但需要额外的锁和复杂的缓存大小调整机制。
    • 分片缓存:将缓存分成多个分片,每个分片由不同的CPU核心访问,可以提高并发性和性能。
  • 缓存替换算法:
    • LRU算法:简单易实现,但可能导致热点数据被替换。
    • MultiQ算法:基于多个LRU列表,可以根据数据的热度进行分层,提高缓存利用率。

决定事项

  • 采用分片缓存结构。
  • 使用MultiQ算法作为缓存替换算法。

后续行动计划

  • 完善缓存管理代码。
  • 评估MultiQ算法的性能。

二、Messenger 2 协议

讨论要点

  • 降级攻击:如何防止在Exchange中删除消息时影响加密等操作。
  • Calamari 项目:讨论了Calamari项目的未来发展方向,包括与Seth Manager的集成。
  • 协议设计:
    • 签名:在消息头中添加签名,以增强安全性。
    • 协商:客户端和服务器协商支持的协议版本和功能。
    • 连接:建立连接并进行身份验证。
    • 消息传递:交换消息。
    • 断开连接:断开连接并清理资源。

决定事项

  • 在消息头中添加签名。
  • 客户端和服务器协商支持的协议版本和功能。
  • 使用简洁的协议设计。

后续行动计划

  • 完善协议实现。
  • 评估协议性能和安全性。

三、其他事项

  • 讨论了其他一些议题,包括性能优化、安全性等。