我有一个monolith应用程序A,它需要通过服务发现来调用微服务B. Consul是使用的服务发现服务器。微服务B在Consul服务器上注册。
从A我可以通过提供http://hostname:portname/endpoint
如何通过服务发现来做到这一点。
我尝试在Monolith Application A中添加依赖项spring-cloud-dependencies
,以便我可以使用org.springframework.cloud.client.discovery.DiscoveryClient
来进行服务发现,但是这个Spring依赖项引入了嵌入式tomcat jar,它与我的jboss冲突两者都在默认端口8080
上运行。将monolith A转换为springboot应用只是为了服务发现不是一个选择。
是否有非spring选项可以从monolith应用程序到Consul服务器进行服务发现?
答案 0 :(得分:0)
您可以使用Consul感知负载均衡器(例如https://traefik.io/或https://github.com/fabiolb/fabio)或客户端负载均衡解决方案(例如https://linkerd.io/
)