SpringCloud学习笔记(17)----Spring Cloud Netflix之服务网关Zuul的使用

1. 什么时候Zuul?

  Zuul是一个基于jvm路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。

  路由功能:相当于nginx的反向代理

  比如: / 可能需要映射到你的web应用,/api/users/映射到用户服务 ,/api/shop映射到商城服务。

2. 使用方式

  新建项目spring-cloud-04-zuul

  添加依赖

 
  <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
 

  配置配置文件

 
server.port=9876

spring.application.name=spring-cloud-zuul

eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

eureka.client.registry-fetch-interval-seconds=30

eureka.instance.lease-renewal-interval-in-seconds=15

eureka.instance.lease-expiration-duration-in-seconds=45
 

  在zuul的启动类中添加@EnableZuulProxy注解,启动注册中心、消费者和生产者

  使用zuul访问

  http://localhost:9876/spring-cloud-provider/api/user/1

  http://localhost:9876/spring-cloud-consumer/user/1

  zuul将会将请求分别路由到生产者和消费者服务器中。

  说明:zuul可以调用提供者,也可以调用消费者,这里没有固定的规则,符合业务需求即可。很多时候,提供者也会调用到另外的提供者(可能是多个),这里建议,最好不要超过三个应用之间的调用。

  例如:一个下单api服务,当用户进行下单就会调用到订单服务,订单服务里面会调用到用户服务进行用户信息的操作,也会调用积分服务进行积分的操作,也可能会有日志服务进行日志记录,最终才能下单。

原文 SpringCloud学习笔记(17)----Spring Cloud Netflix之服务网关Zuul的使用

posted @ 2019-05-10 14:28  xiaoshen666  阅读(853)  评论(0编辑  收藏  举报