【发布时间】:2020-09-22 17:40:53
【问题描述】:
最近,我使用 Azure 的“Azure SignalR Service”和 Azure App Service 构建了一个实时聊天应用程序。它像魔术一样工作。我爱它! 但是,我现在受限于在我的平台上使用 AWS,并且想要一个同等的替代服务,这样我就可以构建一个实时服务,只利用 AWS 服务。
我可以利用 AWS 中的什么相等的子站点,以便我可以构建一个实时应用程序,类似于我使用 Azure SignalR 服务和 Azure 应用程序服务构建 Azure 应用程序的方式?
我的计划是同时使用 API Gateway + AWS Elastic Beanstock。我在这里有什么选择? Elastic beanstock 会成功吗?不确定我是否需要在 Elastic beanstock 中实现某种类型的永远在线功能,以便停机期间不会降低 AWS 资源并中断 WebSocket 连接。
值得一提的注意事项。作为该项目的一部分,我的一项硬性要求是创建一个完整的 HTTP api。我的计划是把它放在 API Gateway 代理后面。
AWS 在此声明它使用 API 网关提供实时服务
https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/
但是,在 API Gateway 中,我相信我需要创建“HTTP API”而不是“WebSocket API”。如果我有一个使用例如 ASP.NET Core web api 的后端 web api,我仍然可以选择 WebSocket API 吗?
如果我使用 AWS“WebSocket API”,我如何为我的后端 ASP.NET COre web api 创建一个 API 前端(代理),同时仍然允许实时?
【问题讨论】:
-
jbooker,你找到完美的替代品了吗?
-
我还没有验证任何内容..
-
正在寻找类似的东西。你选择了哪个选项?你有没有想过用 Ocelot 滚动你自己的 api 网关?我正在拼命寻找 AWS 中的选项,以使 Websockets 与 AWS Fargate 中的容器很好地配合使用。还没有探索过似乎也支持 Websockets 的 ALB,但在网上找不到太多。
-
尚未选择任何选项..
-
同样的情况。我们能够让反应客户端连接到微服务,但 SingalR 说它由于超时而无法协商。
标签: amazon-web-services signalr amazon-elastic-beanstalk aws-api-gateway