gpt4 book ai didi

node.js - 在 Heroku 上使用 Laravel + Redis + Node.js for websocket app ...担心连接限制

转载 作者:可可西里 更新时间:2023-11-01 11:36:13 27 4
gpt4 key购买 nike

这有点牵强,但我希望有人能提供帮助。

我是一名 PHP/iOS 开发人员,一直在开发一款具有消息传递组件的应用程序。前端是 Obj-C,后端目前是 PHP/MySQL。随着我深入开发,我感受到了轮询的缺点,我一直在寻找更实时的解决方案,果然,我在网络套接字中找到了答案。 PHP 在这个领域表现不佳,但我已经能够通过使用 Laravel + Redis + Node.js 让事情在本地工作。

接下来我需要为现实世界的应用程序部署找到一个合适的主机,这是我遇到的第一个主要障碍(或感知障碍?)

Heroku 似乎对允许的 Redis 连接数量有非常低的限制:

链接:https://elements.heroku.com/addons/heroku-redis免费计划:20 个连接120 美元/月:400 个连接$1450/月:5000 个连接

问题是,如果这个应用程序表现良好并获得我想要的那种牵引力,那么全国各地都会有很多人同时使用它,这些限制让我很担心。这些价格似乎有点荒谬,或者我没有正确看待它。

所以我的问题是,维护一个开放的网络套接字(一个用户)是否意味着使用了其中一个 Redis 连接?还是我看这个完全错了?试图决定我是否需要坚持投票,或者是否有一个具有成本效益的解决方案。如果可能的话,我确实想坚持使用 Laravel/Redis,因为我对 JS 不太熟悉,而且我觉得如果我现在尝试沿着这条路线走下去,我的后端会更不安全。

最佳答案

正确的设计将在每个服务器(或每个 Heroku Dyno)上使用 2 个 Redis 连接:

一个连接将用于订阅(收听)应用程序的 channel 。此连接不能用于其他功能,所以...

第二个连接用于所有其他 Redis 功能,例如数据库使用和发布到应用程序的 channel 。

我不知道你是否喜欢 Ruby,但我是 Plezi Http(REST)/Websocket framework 的作者并且必须为 Plezi 在 Redis 上的扩展能力管理一个解决方案(这是一个自动化的功能,你只需告诉 Plezi Redis 服务器的地址就可以了)。

如果想看Plezi's Redis code ,您会注意到有两个连接,每个服务器注册到两个 channel - 一个全局 channel 和一个专用 channel :一个用于应用程序范围的事件,另一个允许消息根据它们所属的服务器路由到特定连接(避免不相关服务器上的工作负载)。

祝你好运!

关于node.js - 在 Heroku 上使用 Laravel + Redis + Node.js for websocket app ...担心连接限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33313768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com