您的位置:首页 > 编程语言 > Java开发

Spring cloud 网关zuul配置

2018-01-17 16:43 651 查看
配置Zuul应用的基础信息,如:应用名、服务端口等:

spring.application.name=api-gateway

server.port=5555

服务路由:

第一种方式:

通过url直接映射,我们可以如下配置:

routes to url

zuul.routes.api-a-url.path=/api-a-url/**

zuul.routes.api-a-url.url=http://localhost:2222/

该配置,定义了,所有到Zuul的中规则为:/api-a-url/**的访问都映射到http://localhost:2222/上,也就是说当我们访问http://localhost:5555/api-a-url/add?a=1&b=2的时候,Zuul会将该请求路由到:http://localhost:2222/add?a=1&b=2上。

其中,配置属性zuul.routes.api-a-url.path中的api-a-url部分为路由的名字,可以任意定义,但是一组映射关系的path和url要相同,下面讲serviceId时候也是如此。

第二种方式:

通过url映射的方式对于Zuul来说,并不是特别友好,Zuul需要知道我们所有为服务的地址,才能完成所有的映射配置。而实际上,我们在实现微服务架构时,服务名与服务实例地址的关系在eureka server中已经存在了,所以只需要将Zuul注册到eureka server上去发现其他服务,我们就可以实现对serviceId的映射。例如,我们可以如下配置:

routes to serviceId

zuul.routes.api-a.path=/api-a/**

zuul.routes.api-a.serviceId=service-A

zuul.routes.api-b.path=/api-b/**

zuul.routes.api-b.serviceId=service-B

eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

针对我们在准备工作中实现的两个微服务service-A和service-B,定义了两个路由api-a和api-b来分别映射。另外为了让Zuul能发现service-A和service-B,也加入了eureka的配置:eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zuul