0

我想使用带有nats-streaming作为事件总线的nestjs构建一个异步微服务架构。

我使用下面的 dockerfile

FROM nats-streaming
CMD ["-p", "4222", "-m", "8222", "-hbi", "5s", "-hbt", "5s", "-hbf", "5", "-SD", "-cid", "events"]

现在,我想将运行在nestjs 上的多个heroku 应用程序连接到它,以便它们可以发布和订阅事件。

我正在使用这个库来实现连接到事件总线。

我面临两个挑战 -

  1. 我想让容器在heroku提供的端口上运行(而不是上面Dockerfile中提到的4222 (-p 4222) )
  2. 在尝试连接到运行 nats-streaming-server 的 url 时,我收到错误“无效端口”。为什么应用程序知道运行 nats-streaming 的端口很重要?

我在这里为这个问题创建了一个最小的例子

  1. 要在开发模式下运行,请使用 docker-compose up
  2. 在生产中,我想在不同的 Heroku 应用程序中使用 nats-streaming 和服务器。
  3. 现在,转到 localhost:3000/publish 会发布一个事件,并且同一个应用程序已经订阅了该事件并将其记录到控制台。

我被困在这个问题上几天了,任何帮助将不胜感激。或者请告诉我,使用heroku 无法实现这一点。

4

0 回答 0