一起使用Bun+Elysia+socket.io

问题描述 投票:0回答:1

我正在尝试使用运行时 Bun、Elysia 库来编写 REST API 以及使用 socket.io 库来实时传递消息,为聊天应用程序构建一个 Web 后端。

我浏览了这 3 个组件的文档,但我找不到让它们一起工作的方法,要么我的 GET 请求被 socket.io 丢弃并且从未转发到 Elysia,要么相反,Elysia 不转发对 socket.io 的请求。

我试图使用socket.io的“Express”示例,其中他们使用http库的“createServer(app)”,其中app是express应用程序,但我无法为Elysia应用程序执行此操作。 .

我知道我可以为 API 和套接字使用两个单独的端口,或者为我的 REST API 使用 Express,但我不想使用这两个选项。

如果有另一个现代路由器库(如 Hono)的工作示例,我可以切换到另一个库。

是否有任何文档可以帮助我在某个地方尝试做的事情?

谢谢!

socket.io bun
1个回答
0
投票

我强烈建议您重新考虑您提出的架构。 API 和 Websocket 服务是两种不同的动物,在扩展方面有截然不同的考虑因素。将它们强行整合到一个单一的整体架构中会导致灾难,因为它实际上会产生许多自己的问题,因此是一种架构反模式。我的建议是将这些服务分开。这允许您将 API 作为自己的整体部署,或者通过 API 网关利用 Lambda 或 Google Functions,同时将 Websocket 服务部署为 Docker 或 K8s 集群。 monorepo 将帮助您将这两项服务作为单个存储库协同开发,可以通过 CDK 或 Terraform 和 Github Actions 或 Btbucket Pipelines 来管理部署。

这是通过工作区设置bun monorepo的链接https://bun.sh/guides/install/workspaces

© www.soinside.com 2019 - 2024. All rights reserved.