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