我想使用带有nats-streaming作为事件总线的nestjs构建一个异步微服务架构。
我使用下面的 dockerfile
FROM nats-streaming
CMD ["-p", "4222", "-m", "8222", "-hbi", "5s", "-hbt", "5s", "-hbf", "5", "-SD", "-cid", "events"]
现在,我想将运行在nestjs 上的多个heroku 应用程序连接到它,以便它们可以发布和订阅事件。
我正在使用这个库来实现连接到事件总线。
我面临两个挑战 -
- 我想让容器在heroku提供的端口上运行(而不是上面Dockerfile中提到的4222 (-p 4222) )
- 在尝试连接到运行 nats-streaming-server 的 url 时,我收到错误“无效端口”。为什么应用程序知道运行 nats-streaming 的端口很重要?
- 要在开发模式下运行,请使用 docker-compose up
- 在生产中,我想在不同的 Heroku 应用程序中使用 nats-streaming 和服务器。
- 现在,转到 localhost:3000/publish 会发布一个事件,并且同一个应用程序已经订阅了该事件并将其记录到控制台。
我被困在这个问题上几天了,任何帮助将不胜感激。或者请告诉我,使用heroku 无法实现这一点。