实时功能:多用户版

实时功能:多用户版

💡 原文英文,约1700词,阅读约需6分钟。
📝

内容提要

Supabase宣布其实时功能的多用户特性现已全面上线,包括广播和在线状态,所有免费计划的项目均可使用。新版本的supabase-js库支持这些功能,提升了开发者体验。未来,Supabase计划扩展更多集成功能,并优化其分布式服务器架构。

🔎

延伸解读

广播与在线状态:核心特性解析

广播功能允许客户端通过频道实时发送和接收消息,消息不经过数据库,适合传输临时数据,如游戏中的光标位置。在线状态功能则同步用户间的共享状态,新加入者能立即获取当前状态,且用户断开连接时状态会自动移除。两者都基于频道构建,所有内容都组织为频道,类似于Slack或Discord的房间。

免费计划可用性与迁移安排

所有免费计划上的活跃Supabase项目均可使用广播和在线状态功能。2023年8月18日之后创建的新项目自动获得访问权限。对于其他项目,Supabase将在未来几周内协助迁移到新的Realtime服务。如需立即访问,可联系Supabase团队。

技术架构与性能优化

新版本Realtime服务器采用分布式集群架构,运行在全球多个节点上,基于Elixir和Phoenix框架。客户端连接到最近的节点,利用集群的高速骨干网络提升连接速度、稳定性和延迟。整个集群运行在Fly平台上。在线状态功能基于Phoenix Tracker实现,这是一种基于增量冲突自由复制数据类型(CRDT)的最终一致状态同步机制。

未来扩展与集成计划

Supabase计划扩展更多集成功能,例如监听股票市场事件、区块链事件以及权威时钟广播。还计划将Realtime作为WebRTC信令服务器,支持点对点应用,如协作代码编辑器。此外,将在Supabase Dashboard中构建Realtime检查器,方便调试频道消息。

❓

Q&A

Supabase的实时功能有哪些新特性?

Supabase的实时功能新增了广播和在线状态特性,允许客户端实时发送和接收消息,并同步用户之间的共享状态。

所有Supabase项目都能使用这些新功能吗?

是的,所有免费计划的项目均可使用这些新功能。

广播功能是如何工作的?

广播功能允许客户端通过唯一标识符实时发送消息,其他客户端可以订阅并接收这些消息。

在线状态功能有什么用?

在线状态功能可以同步用户之间的共享状态,使新加入的用户立即看到当前在线用户的状态。

Supabase未来有什么计划?

Supabase计划扩展更多集成功能,并优化其分布式服务器架构。

如何在supabase-js中使用广播和在线状态功能?

可以通过创建频道并使用相应的事件监听器来实现广播和在线状态功能,具体代码示例可参考文档。

🏷️

标签

➡️

继续阅读