tav*_*dev 5 infrastructure websocket next.js vercel
我在 Vercel 上使用 NextJs 一段时间了,因为它具有令人惊叹的开发体验和性能,但直到现在我才需要在我的任何应用程序中使用带有 WebSocket 的实时数据。
然而,目前我正在开发一个需要实时的新项目,但我正在努力决定如何实现 WebSockets。
简单介绍一下,该应用程序是一个实时交易市场,用户可以在其中用虚拟资产交换金钱。因此,需要 WebSocket 来让客户了解市场上的新列表,以及每隔几秒运行一次后台作业来跟踪交易是否完成、取消等。
请记住,我想继续使用 Vercel 上托管的 NextJs,我的问题是:我应该在使用 NextJs 时创建一个单独的服务器来处理所有实时数据和后台作业,还是应该使用普通的 React + ExpressJs + WebSockets服务器?我也考虑过使用 AWS 服务,但我认为它比其他两种选择更棘手。
如果我要创建一个单独的服务器,那么使用无服务器函数(在 Vercel 上创建)执行数据库操作然后通知 WebSocket 服务器复制更改(例如创建新的项目列表)是否理想?或者我应该使用 WebSocket 服务器的路由(ExpressJs 路由)来执行需要复制到客户端的那些类型的任务?
Vercel自己建议不要使用其无服务器功能进行实时通信
Vercel 上的无服务器函数是无状态的,并且具有最长执行持续时间。因此,无法维持与无服务器功能的 WebSocket 连接。
他们提供了一些实时替代方案,包括带有分步指南的 Pusher https://vercel.com/guides/deploying-pusher-channels-with-vercel
| 归档时间: |
|
| 查看次数: |
2327 次 |
| 最近记录: |