美文网首页
服务网关-Zuul的使用

服务网关-Zuul的使用

作者: 龙果学院 | 来源:发表于2017-07-19 18:17 被阅读263次

    一、Zuul的介绍

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

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

    比如:/可能需要映射到你的web应用,

    /api/users映射到用户服务,/api/shop映射到商城服务。

    二、新建项目(spring-cloud-gateway-20)

    1、加入依赖包

    org.springframework.cloud

    spring-cloud-starter-zuul

    org.springframework.cloud

    spring-cloud-starter-eureka

    2、配置文件(application.properties)

    # server

    server.port=9876

    # spring

    spring.application.name=spring-cloud-gateway

    # eureka

    #eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

    eureka.client.serviceUrl.defaultZone=http://roncoo:123456@localhost:8761/eureka/

    # info自定义

    info.build.name=@project.name@

    info.build.description=@project.description@

    info.build.groupId=@project.groupId@

    info.build.artifact=@project.artifactId@

    info.build.version=@project.version@

    eureka.instance.status-page-url-path=/info

    eureka.instance.instanceId=${spring.application.name}:${random.value}

    eureka.instance.prefer-ip-address=true

    #设置拉取服务注册信息时间,默认60s

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

    #指定续约更新频率,默认是30s

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

    #设置过期剔除时间,默认90s

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

    3、主类

    packagecom.roncoo.education;

    importorg.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    importorg.springframework.cloud.netflix.zuul.EnableZuulProxy;

    @EnableZuulProxy

    @SpringBootApplication

    public classGatewayApplication {

    public static void main(String[] args) {

    SpringApplication.run(GatewayApplication.class,args);

    }

    }

    4、启动访问:

    http://localhost:7778/api/user/1

    http://localhost:8886/feign/user/1

    使用zuul

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

    http://localhost:9876/spring-cloud-consumer2/feign/user/1

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

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

    推荐Spring Cloud视频资料

    相关文章

      网友评论

          本文标题:服务网关-Zuul的使用

          本文链接:https://www.haomeiwen.com/subject/vpfrkxtx.html