Tag: netflix eureka netflix zuul

如何通过zuul代理从一个微服务访问另一个

我正在开发使用弹簧引导的微服务项目。 在这里,UI页面在独立的微服务和单独的微服务中的zuul代理。 我想通过zuul微服务访问UI页面。 我在下面添加了我的项目结构。 UiService Application.properties: server.port=8090 spring.mvc.view.prefix: /WEB-INF/views/ spring.mvc.view.suffix: .jsp spring.application.name=ui eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ eureka.instance.preferIpAddress=true eureka.instance.leaseRenewalIntervalInSeconds=5 zuulService application.yml: server: port: 8080 eureka: instance: leaseRenewalIntervalInSeconds: 10 statusPageUrlPath: /info healthCheckUrlPath: /health logging: level: ROOT: INFO org.springframework.web: DEBUG zuul: routes: ui: url: http://localhost:8090 ribbon: eager-load: enabled: false 我的docker撰写文件: version: '3' services: eureka: build: eurekaService ports: – "8761:8761" zuul: build: […]

使用尤里卡,尽pipe有docker集装箱随机外部端口

我正在编写一个应用程序,该应用程序由几个基于Spring启动的微服务组成,并在前端使用基于zuul的反向代理。 它在我的计算机上启动服务时起作用,但是对于服务器部署,我想使用docker作为服务,但现在看起来这是不可能的。 通常情况下,你将有一个固定的“内部”端口和在容器外部的随机端口。 但容器中的应用程序不知道外部端口(和IP)。 Netflix的工具与我想写一个高效的微服务架构相匹配,在概念上我真的很喜欢docker工人。 据我所见,启动容器会非常麻烦,请将外部端口收集在主机上,并传递给应用程序,因为在启动应用程序后,不能简单地更改端口。 是否有任何方式使用基于docker的客户端尤里卡? [更新]我想我解释这个问题做得不好。 所以也许这个更清楚一点: 尤里卡服务器本身可以运行在docker,因为我只有一个和外部端口无关紧要。 我可以使用链接function从客户端访问它。 问题是客户注册自己的URL。 这是例如https:// localhost:8080 /但由于dynamic端口分配,它只能通过https:// localhost:54321 / 所以eureka将返回错误的服务URL。 更新我已经更新了下面的答案,所以看看那里。