Skip to content

WebSocket 服务概览 (Pusher 协议)

本服务是一个高性能的 WebSocket 服务器,完全兼容 Pusher Channels Protocol。这意味着你可以使用任何标准的 Pusher 客户端 SDK(Web, iOS, Android, Server)直接与之交互。

核心特性

  • 协议兼容: 完全兼容 Pusher HTTP API 和 WebSocket 协议 (v7)。
  • 极速性能: 底层基于高性能异步运行时 (如 Go/Rust/Swoole),旨在处理海量并发连接。
  • 水平扩展: 支持通过 Redis 发布/订阅机制进行集群部署。
  • 多语言支持: 任何支持 HTTP 和 WebSocket 的语言都可以接入。

架构概览

在生产环境中,WebSocket 服务通常部署在 Nginx 反向代理之后。

```mermaid graph TD Client[客户端 (Browser/App)] LB[负载均衡 / Nginx (SSL Term)] WSServer[WebSocket Server (Port 8080)] Backend[你的后端应用 (PHP/Go/Java)] Redis[(Redis Pub/Sub)]

Client -- "WebSocket (wss://)" --> LB
LB -- "Proxy (ws://)" --> WSServer
Backend -- "HTTP Trigger (Release Event)" --> WSServer
WSServer <--> Redis
WSServer -- "Push Event" --> Client

```

  1. 客户端连接: 客户端使用标准的 Pusher SDK (如 pusher-js) 连接到 WebSocket 服务。
  2. 反向代理: Nginx 处理 SSL 终止,并将 Upgrade 请求转发给后端服务。
  3. 事件触发: 你的业务后端通过 HTTP API (/apps/{id}/events) 将事件推送到 WebSocket 服务器。
  4. 消息分发: WebSocket 服务器根据订阅关系,将消息实时推送到所有在线客户端。