分布式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= 12003eureka.instance.hostname=localhosteureka.client.service-url.defaultZone= http://${eureka.instance.hostname}:12000/eureka/#注册到eurekaeureka.client.healthcheck.enabled=truespring.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