springcloud入门(六)之Zuul路由网关及过滤

springcloud入门(一)之基本概念、服务提供者及消费者

springcloud入门(二)之eureka服务发现与注册

springcloud入门(三)之Ribbon负载均衡及自定义负载均衡

springcloud入门(四)之feign负载均衡与rest调用

springcloud入门(五)之Hystrix熔断、降级及监控

springcloud入门(七)之config配置中心

1 Zuul路由 网关

1.1 什么是zuul

zuul包含了对请求的路由和过滤网关两个最主要的功能:
其中路由功能负责将外部请求转发到具体的微服务实例上,实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预;
是实现请求校验,服务聚合等功能的基础。zuul和eureka进行整合,将zuul自身注册为eureka服务治理下的应用,同时从eureka中获取其他微服务的消息
以及以后的访问微服务都是通过zuul跳转后获取
注意 :zuul服务最终还是会注册进eureka
提供:代理、路由及过滤三大功能
在这里插入图片描述

1.2 zuul能干嘛

1.3 代码示例

老规矩,新建一个项目zuul-9527;然后三大步上篮

pom

添加依赖

<dependencies>
    <!--zuul-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <!--actuator-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--eureka-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    <!--web-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

yml

编写配置

server:
  port: 9527

eureka:
  client:
    service-url:
      defaultZone: http://eureka0.com:8000/eureka/,http://eureka1.com:8100/eureka/,http://eureka2.com:8200/eureka/
  instance:
    instance-id: zuul9527.com #修改在Eureka上默认的状态名字
    prefer-ip-address: true #true可以显示服务器的ip
info:
  app.name: Damon-springcloud
  company.name: www.ccct.com

#zuul配置
zuul:
  routes:
    mydept.serviceId: provider-dept # 原来的id
    mydept.path: /mydept/** #serviceId 和path 是配套使用的,前面的mydept可以随便写
  #ignored-services: provider-dept # 不能使用这个路径访问了 yml的数组表示方法
  #prefix: /ccct #统一前缀

启动类

开启注解

@SpringBootApplication
@EnableZuulProxy//加上zuul代理注解即可
public class ZuulApplication9527 {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication9527.class,args);
    }
}

三大步走完打完收工

测试访问

访问地址:
http://localhost:9527/provider-dept/dept/findById/1
http://localhost:9527/mydept/dept/findById/1
http://localhost:8001/dept/findById/1
三个都能成功
在这里插入图片描述
将yml中ignored-services注释放开后,再次访问
在这里插入图片描述
如果#prefix注释放开,为接口添加统一前缀。
自此zuul大致有了了解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值