我正在使用无服务器,AWS API网关和AWS Lambda尝试发送实时消息,并且我发现了一些实现此概念的示例。我在解决应在我的应用中打开WebSocket连接的位置时遇到了问题。
我已经创建了一个GraphQL API和一个多页面,并且我希望在所有页面上都嵌入一个实时聊天应用程序,类似于您的Facebook或WhatsApp或其他任何内容。我已经实现了GraphQL变异和查询,以创建用户和消息将驻留的线程,这些线程也具有自己的变异和查询,并且我还设置了4个Lambda函数。一个用于GraphQL服务器,一个用于WebSockets,我已经打开,关闭和sendMessage。
我考虑过在执行GraphQL服务器时打开WebSocket连接,但是我觉得这样可以使Lambda一直保持到连接关闭为止,我认为这与Lambda函数的意义不符Serverless框架哲学和最佳实践。将不得不等待WebSocket连接关闭以使Lambda完成其执行。但是同时,我希望实时聊天应用程序在所有页面上都可以在另一个应用程序上运行,应该保持正常运行吗?后端是否还有其他可以打开连接的选项?
另一种选择是将其连接到事物的前端?