Heroku多个网络dynos(docker)在同一个应用程序



我想知道是否有可能在heroku的同一应用程序中部署几个"web dynos"微服务(spring-boot应用程序(。

我有一个由几个微服务组成的应用程序,它们也相互"对话"。我能够在heroku中部署一个docker容器,将其命名为"web",有一篇文章我解决了这个问题:

Heroku docker弹簧引导映像错误503 H14

现在的问题是,如果我只能在一个应用程序中部署一个web dynos,那么我必须创建几个应用程序来部署每个微服务中的一个。其中一个微服务是api网关,它是唯一一个必须向互联网公开的服务(我读过一些关于可以在同一应用程序中运行但没有公开的工作人员的文章,或者类似的东西,我不理解这种行为(

如果不可能的话,另一个问题是我的微服务连接到heroku在每个应用程序中创建的环境属性的数据库,所以我必须在每个微服务中手动写入另一个应用程序数据库的URL,而不是我有代码的自动连接。它完全适用于部署在应用程序中的微服务和数据库。

如果不可能的话,另一个问题是,我可以像kubernetes那样使用名称或类似的东西向另一个服务发送请求吗?

提前谢谢你,对不起我的英语(我是西班牙语(。

是的,每个web进程有一个HTTP端口,因此每个服务都是一个Heroku应用程序,这里没有解决方法

工作人员是不需要外部连接的后台工作(即从队列中提取、完成工作、在某个地方写入结果(,因此在您的情况下,它不起作用,因为服务需要相互通信(即使只是在内部(

关于数据库:如果这是一个Heroku管理的DB(或Redis(,我相信URL会被Heroku自动注入为Config-Val,在这种情况下,所有服务都可以使用同一个。

关于服务连接:一旦部署了服务,Heroku就会分配一个专用URL(即https://{appName}.herokuapp.com/(。它不会更改它,因此您可以将其用作REST调用的主机。

相关内容

最新更新