关于改进消息传递协议的思考 - 第 2 部分,Matrix

主要观点:

  • 在博客第一部分解释了 Matrix 协议的工作方式,对比其与 XMPP 的设计理念,讨论了差异导致的性能成本,Matrix 以事件图处理每个对话。
  • 合并操作在大型房间的 Matrix 中成本较高,影响数据库存储、负载和磁盘使用。
  • 提出简化和加快合并操作的提案,目标是在处理有 n 个状态事件的房间时达到 O(n log ⁡n)总处理时间,接近 state resolution v1 并以不同方式处理状态重置。
  • 初步评估在 100,000 成员的大型房间中,该方法可将处理性能提高 100 到 1000 倍,能改善对话、减少延迟和提高响应性,同时降低服务器负载和资源使用,对所有用户都有益,计划在自己代码中实现以评估效果,Matrix 团队也在考虑其对参考协议的潜在价值。

关键信息:

重要细节:

  • 描述了状态解析 v2 使用的图算法导致处理时间与房间状态事件数呈线性关系及带来的服务器负载问题。
  • 说明了提案中为简化冲突管理和跳过图的大部分遍历而添加与每个event_id相关的版本及启发式方法。
阅读 17
0 条评论