Spring Boot(Netflix Eureka)-用于访问微服务的自定义URI

时间:2019-12-01 05:03:57

标签: java spring spring-boot microservices netflix-eureka

早上好

我使用Netflix Eureka在Spring Boot中创建了一个微服务,一切运行正常,最终在下一个URI上运行:

-> http://localhost:8082/catalogs

我的问题是我是否可以使用spring.application.name而不是使用localhost和port:

-> http://catalog-service/catalogs

如果有人知道该怎么做并分享它,我将不胜感激。

以下是Eureka Server和Eureka Client的application.properties:

服务器:

```spring.application.name=eureka-server 
server.port=8761

#don't register itself as a client
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
logging.level.com.netflix.eureka=ON
logging.level.com.netflix.discovery=ON```

客户:

```#Eureka
spring.application.name=catalog-service
server.port=8762
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
eureka.client.service-url.default-zone=http://localhost:8761/eureka/
instance.preferIpAddress=true```

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您正在尝试通过Eureka 路由服务,但是Eureka就像目录服务一样,它维护向其注册的所有应用程序的详细信息。

如果您想route your service调用,或者仅使用客户端名称调用API,则可以使用Zuul API gateway

它如何工作?

我将给出有关其工作原理的基本概念,您可以详细了解它。

与呼叫客户无关,您将使用客户名称呼叫zuul,zuul将从eureka获取客户的主机和端口详细信息,并将呼叫路由到客户。 下面的链接提供了zuul与Eureka的示例应用示例。

https://piotrminkowski.com/2017/02/05/part-1-creating-microservice-using-spring-cloud-eureka-and-zuul/