美文网首页
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