我们正在慢慢地将我们的tomcat应用程序迁移到微服务,这意味着我们需要一次使用多个tomcat应用程序。这在kubernetes集群中很容易,但在开发环境中并不容易实现。
我们正在使用IntelliJ Idea,最容易运行一次tomcat实例并将所有应用程序部署到它。这似乎是一个问题,因为Idea遇到java.net.BindException: Address already in use (Bind failed)
,因为它试图绑定到其他微服务运行中绑定的端口。
做这些事情的最佳做法是什么?如何在不必在不同端口上运行多个tomcats的情况下运行多个实例?
答案 0 :(得分:1)
在开发微服务时,应用程序运行的位置(在哪个端口上)无关紧要。我使用开发配置文件/配置在不同端口上本地运行我的微服务(基于spring-boot)。
在本地和生产中,我们的微服务使用像ActiveMQ这样的消息代理互相交谈。这样,它们运行的端口并不重要。
所以我的建议是:只需在不同的端口上运行它们,并确保它们不依赖于使用服务注册表的端口。
如果您添加有关设置和应用程序的更多详细信息,我们可能会为您提供有关如何完成此操作的更详细答案。