分布式04SpringCloudZuulApi网关一

编程

zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。 

熟悉Nginx的朋友可以把zuul理解为一个Nginx,个人认为2者主要在使用区别上,Zuul主要是处理与服务之间调用的,而Nginx主要处理与服务器之间的调用和一些静态文件的访问支持。

2.搭建Zuul应用

引入maven库

compile "org.springframework.cloud:spring-cloud-starter-zuul:1.4.4.RELEASE"

compile("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client")

配置application.properties

server.port= 12003

eureka.instance.hostname=localhost

eureka.client.service-url.defaultZone= http://${eureka.instance.hostname}:12000/eureka/#注册到eureka

eureka.client.healthcheck.enabled=true

spring.application.name=eureka-Zuul

zuul.routes.eureka-server.path=/public/*#拦截转发

zuul.routes.eureka-server.service-id=eureka-server#转发的服务ID也可以用URL

#zuul.routes.eureka-server.url=localhost:12000 #或者直接使用 URL转发,类是Nginx service-id与url 2选用1

zuul.routes.eureka-server.strip-prefix=false #是否去除前缀 也就是public

zuul.ignored-patterns=/api/#不拦截转发的规则

Application启动添加注解

@EnableZuulProxy

3.测试

这样Zuul的网关服务就启动了。我们来测试下

我们方便再应用A,和应用B实现一个接口 同意返回 2个应用的端口

方便是12000,12001 然后通过我们的Zuul网关来调用

启动完查看Eureka

调用 http://localhost:12003/public/getPort  通过Zuul服务 调用 eureka-server 2个应用,对应的配置是下面2个

zuul.routes.eureka-server.path=/public/*

zuul.routes.eureka-server.service-id=eureka-server

调用结果发现Zuul网关会再应用A和应用B进行轮询调用

4.关于Zuul的配置说明

这有一篇比较全的配置说明文章,我就不重复写了

https://blog.csdn.net/qq_29233293/article/details/84891865

以上是 分布式04SpringCloudZuulApi网关一 的全部内容, 来源链接: utcz.com/z/515165.html

回到顶部