heroku 向所有dynos发送请求

aydmsdu9  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(154)

我在同一个子域下运行4个dynos和nodejs应用程序(例如:app.website.com)。我需要将来自其他dyno应用程序的请求发送到我的所有dynos(其他域:admin.website.com),也是nodejs应用程序。所有dynos都应该根据管理服务器的命令删除内存中的一些缓存数据。
如果我发送http请求到app.website.com,只有一个dynos得到它(因为负载平衡器)。

vcirk6k6

vcirk6k61#

在Herokus中,"公共运行时"既不能从外部连接到单个dynos,也不能从一个dyno向另一个dyno发送http请求。(参见https://devcenter.heroku.com/articles/dynos#common-runtime-networking)。另一方面,在Herokus私有空间中,后者是可能的,因为所有dynos形成了一个VPN。(参见https://devcenter.heroku.com/articles/dynos#private-spaces-runtime-networking)
与其尝试使用http向所有dynos发送缓存清除事件,不如更改设置。您可以使用一个中央组件,例如消息队列,管理dynos和应用dynos都可以连接到该组件。然后管理应用可以发送缓存清除事件,您的应用将使用这些事件。如果您不想不必要地扩展基础架构,但您已经连接了任何其他中央存储(例如,数据库),您也可以使用它。

相关问题