How AfterHour 在一个月内使用 Rama 构建了一个超可扩展的聊天服务

主要观点:

  • 作者 1999 年基于 IRC 协议构建首个聊天系统,后创办初创公司为企业提供自托管聊天室,还构建了实时多人游戏,熟悉实时消息等软件的运行挑战。
  • AfterHour 知道聊天将是其产品的核心,作为一般工程原则,不将核心功能外包给供应商,且开源聊天服务器无法处理消费者应用程序使用级别。
  • Rama 为处理聊天所需的持久性、路由和数据局部性提供了精确支持,AfterHour 借助 Rama 构建了无瑕疵运行的聊天系统,一个月内建成,包括学习使用 Rama 的时间,自 2024 年 3 月起在生产环境中运行。
  • AfterHour 聊天后端用 Rama 构建,实现 Matrix 规范的 API,是一个单一的 Rama 模块,包含多种 depot 和 PState 等,以满足不同用例的索引需求。
  • Rama 是用于构建整个后端的存储和计算平台,PState 是索引数据存储,有不同形状和用途,每个 PState 都针对用例进行了优化。
  • Rama 有流拓扑和微批处理拓扑,分别适用于不同延迟要求的用例,AfterHour 大部分功能由流拓扑实现,微批处理拓扑处理一些低延迟要求不高的用例。
  • Rama 帮助 AfterHour 快速构建应用组件,集群无需维护,可完全扩展到任何读写负载,无需在构建简易性和可扩展性之间权衡。

关键信息:

  • 作者相关经历:1999 年构建 IRC 聊天系统等。
  • AfterHour 信息:社交投资平台,有透明交易数据等功能,2024 年 3 月起运行 Rama 构建的聊天系统。
  • Rama 特点:用于构建后端,是存储和计算平台,PState 可精准匹配索引需求,有流和微批处理拓扑。
  • AfterHour 聊天系统架构:包含多种 depot 和 PState,由流拓扑处理大部分功能,微批处理拓扑处理部分功能。

重要细节:

  • AfterHour 聊天后端一个月建成,集群无需维护,可扩展到任意读写负载。
  • Rama 免费用于生产集群最多两个节点,可从特定页面下载。
  • PState 有多种类型,如简单映射、文档数据库、列数据库等,各有其特点和适用查询。
  • 流拓扑处理消息发布和加入房间等低延迟需求的功能,微批处理拓扑处理存在性通知和打字通知等低延迟要求不高的功能。
阅读 6
0 条评论