在传输层(transport)里,除了 TCP、WebSocket,还有一个常见选项是 gRPC。它基于 HTTP/2,特点鲜明。
它的特点
- 多路复用:HTTP/2 允许多个请求共用一条连接,减少反复握手,弱网下体验更平稳。
- CDN 友好:很多 CDN 原生支持 HTTP/2 / gRPC,适合套 CDN 隐藏源站。
- 特征像正常 API:gRPC 是常见的服务间通信协议,流量形态不显眼。
和 WebSocket 比
WebSocket 更通用、兼容性最好;gRPC 在长连接、多路复用上更有优势,但个别 CDN 或中间设备对 gRPC 支持不完善,可能反而不稳。两者都要配 TLS 使用。
配置要点
关键是 serviceName,两端必须一致,相当于 WebSocket 里的 path。外层同样建议加 TLS。
没有明确网络问题时,WebSocket 和 gRPC 体验接近,不必纠结。遇到 WS 频繁断线时,可以试试切 gRPC 看是否更稳。