美文网首页
6、spring cloud:Zuul

6、spring cloud:Zuul

作者: lesline | 来源:发表于2018-10-15 10:07 被阅读9次

    在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

    Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

    2016年以前,Netflix的Zuul 1本质上一个web servlet应用,因此是多线程的、阻塞的,也就是说对每一个Http连接都会用一个单独的线程来处理。在Zuul 1中,对于IO操作,会再用一个工作线程来执行,工作线程中的IO操作执行完成后会通知处理请求的线程,操作完成前,后者是阻塞的。Zuul 2对API网关的异步化改造。

    简单使用

    1、添加依赖

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

    引入spring-cloud-starter-zuul包

    2、配置文件

    spring.application.name=gateway-service-zuul
    server.port=8888
    
    #这里的配置表示,访问/it/** 直接重定向到https://www.baidu.com/
    zuul.routes.baidu.path=/it/**
    zuul.routes.baidu.url=https://www.baidu.com/
    

    3、启动类

    @SpringBootApplication
    @EnableZuulProxy
    public class GatewayServiceZuulApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(GatewayServiceZuulApplication.class, args);
        }
    }
    

    启动类添加@EnableZuulProxy,支持网关路由。

    4、测试
    启动项目,在浏览器中访问:http://localhost:8888/it/spring-cloud,看到页面返回了百度的信息


    参考:

    Home · Netflix/zuul Wiki · GitHub
    springcloud(十):服务网关zuul - CSDN博客
    (8)Netflix对API网关的异步化改造——响应式Spring的道法术器-刘康的博客-51CTO博客

    相关文章

      网友评论

          本文标题:6、spring cloud:Zuul

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