Open y4h2 opened 2 years ago
构造了一个WebSocket server, 一端连在我们的server上,websocket client端需要部署在VPC内部。 两端之间用WebSocket连接,把原本的的单向request,变成了一个相当复杂的双向交互式系统。
这里再说说这个方案存在的问题
一个从根源上解决问题的方法就是配置防火墙,让我们server的ip能够通过VPC.
其次,可以考虑pub/sub的方案来处理,即客户端subscribe SQS,收到消息后立即发送webhook request
其他方案比如gRPC的streaming也是可行的
算是从头到尾参与的一个烂项目,项目开展之前没有足够的时间做调研,等到发现架构有问题的时候,leader却已经在高层面前做完了demo, 开始着手实现细节了。等到想要阻止的时候,已经箭在弦上必须要上线了。 还有一些问题是开始没有想到的,比如connection频繁中断,这个在测试之后就暴露了。
NAT穿透的主要原理:由内网主动找外网建立连接,建立连接之后,外网可以向内网发消息
另:通过pub/sub模式可以避开NAT穿透
需求场景
当时的方案
构造了一个WebSocket server, 一端连在我们的server上,websocket client端需要部署在VPC内部。 两端之间用WebSocket连接,把原本的的单向request,变成了一个相当复杂的双向交互式系统。
这里再说说这个方案存在的问题
事后的思考
一个从根源上解决问题的方法就是配置防火墙,让我们server的ip能够通过VPC.
其次,可以考虑pub/sub的方案来处理,即客户端subscribe SQS,收到消息后立即发送webhook request
其他方案比如gRPC的streaming也是可行的
心路历程
算是从头到尾参与的一个烂项目,项目开展之前没有足够的时间做调研,等到发现架构有问题的时候,leader却已经在高层面前做完了demo, 开始着手实现细节了。等到想要阻止的时候,已经箭在弦上必须要上线了。 还有一些问题是开始没有想到的,比如connection频繁中断,这个在测试之后就暴露了。
NAT穿透的主要原理:由内网主动找外网建立连接,建立连接之后,外网可以向内网发消息
另:通过pub/sub模式可以避开NAT穿透