通过API Gateway访问Beanstalk部署的WebSocket服务如何选择VPC链路
WebSocket API Gateway 选型与可行性说明
可行性确认
你当前的技术栈完全可以正常支持WebSocket连接:
- WebSocket握手确实基于HTTP/1.1的
Upgrade请求实现,只要整条链路支持透传Upgrade、Connection请求头,且支持长连接保活即可正常工作 - 你配置的网络负载均衡(NLB)本身是四层负载均衡,默认支持长连接透传,不会截断WebSocket握手报文和后续双向传输的业务数据
VPC链路选型建议
直接选择HTTP API专属VPC链路即可,不要选择REST API专属VPC链路,原因如下:
- REST API原生不支持WebSocket协议,无法识别并处理
Upgrade类的握手请求,即使配置了VPC链路也无法正常转发WebSocket流量 - HTTP API原生支持WebSocket路由配置,对接NLB的私有集成链路开销比REST API低30%左右,性能更优
- 如果你仅对外提供WebSocket服务,也可以选择API Gateway专用的WebSocket API类型配置VPC链路集成,针对WebSocket场景的分阶段路由(连接建立、消息接收、连接断开回调)配置会更灵活
配置私有集成时不需要额外修改应用侧的头规则,只要保证NLB目标组健康检查状态正常,API Gateway会自动透传WebSocket握手所需的标准头字段。
内容的提问来源于stack exchange,提问作者Luc Bertin
相关产品推荐
相关产品推荐

