在编写实时应用程序时,您需要的是可在所有支持的平台上的所有应用程序中使用(和重用)的基础结构。 编写该基础结构会很有趣,但是如果您像我一样,您的工作就是构建和生产应用程序-您没有时间推出自己的实时解决方案。
您真正需要的是类似Pusher的名为“ Channels”的产品。 Channels是一个平台,它具有将实时通信纳入所有Web,移动和桌面应用程序所需的一切。
通道使用其简单的基于事件的API提供灵活的发布和订阅消息传递。
通过使用它们广泛的服务器库,您可以从服务器应用程序触发事件,并在客户端上监听这些事件。
频道不仅仅是发布和订阅消息。
您可以创建和使用私人频道,以便只有授权用户才能订阅它们。 这意味着您需要对用户进行身份验证,并且可以将Channels身份验证与自己的身份验证方案无缝集成。
您还可以创建专用的专用渠道,称为在线渠道,让您看到订阅了特定渠道的用户,这使得构建协作应用程序,游戏以及您需要知道谁的任何其他类型的应用程序变得异常容易。在线。
作为平台,渠道可为您提供监视指标和警报所需的一切。 您可以查看有关通过通道发送的消息的各种度量标准,例如消息数,消息类型和大小。 您还将获得有关连接以及客户端如何连接到您的应用程序和Channels平台的信息。 您还可以将所有这些数据与其他第三方工具(如Datadog和Slack)集成。
当您遇到问题时,有可用的调试工具,并且支持Web挂钩,以便可以在Channel中发生事件时更新和通知服务器。 您也可以使用简单的查询API查询已连接用户的状态。