WSS Real-time Data Push Service

WSS 服务

Gitter Gitter Gitter

WSS 是 荆秀实时数据推送服务 的英文简称。

联系我们

荆秀网

WSS 提供一个位于广域互联网的数据转发服务,服务方式是接收到发布者的数据请求后,依据预先设立的应用划定广播边界,在边界内对应用的全部订阅者进行数据副本的群发服务。

WSS 服务机制

WSS 封装了复杂的内部实现,对外开放了简单的发布/订阅机制(Pub/Sub),简单几步即可建立基于此机制的业务。

WSS 服务提供了基于 HTTP 1.1 的 RESTful API,发布者可使用 GET/DELETE/PUT/POST 指令来操作 WSS 服务提供的资源;采用 RESTful API 的好处是可以抹平服务端使用的开发语言的差异,学习成本基本为 0,技术开发人员可以将更多的精力放在业务数据结构、流程、逻辑等的构建上。

WSS 服务提供了开放于广域互联网的 URI,使得任何互联网终端均可连接和订阅数据池变动事件。事件订阅基于标准 WebSocket 协议而并非私有协议,使用者无须担心对未来软件系统升级的潜在的兼容性问题。

目前所有的主流浏览器均支持 WebSocket 协议,细节参见:

目前 WSS 提供 S2C(Server to Client)的单向数据广播(Broadcast 下行)模式(可理解为群发),尚不支持 C2S(Client to Server)的交互模式,这是 WSS 的业务方向所决定的。

相应的,WSS 提供一个公共通道 chat,用于 Server 端和 Client 端的数据交换。所有正确连接上的 Client 端均可向此通道触发事件并传递数据,WSS 服务则监听此事件,并将其广播到所有已经正确连接的其它 Client 端。

WSS 不推荐用户依赖此公共通道来构建关键业务流程。推荐采用从 Client 上行数据到自有系统的 Server 端(例如 XMLHttpRequest 等),然后再使用自有系统的 Server 端调用 RESTful API 来进行数据交换(广播)。

WSS 路线图(暂定):

  1. S2D 单点触达(Server to Device)模式,实现对特定单点、终端进行数据触达
  2. D2D 终端间触达(Device 2 Device)模式,实现特定多个单点间一对一数据触达
  3. 钩子 服务端触达(Webhook)模式,推送数据给服务器
  4. ……