美文网首页
初识zuul

初识zuul

作者: 傻猪侠 | 来源:发表于2017-05-25 15:12 被阅读201次

    API服务网关

    zuul是基于servlet架构,采用filter模式,针对对http协议的API请求进行路由,可以认为是一种API-Gateway。通过对filters的实现, 提供动态路由,监控,弹性,安全等边缘服务。
    主要特点时可以通过groovy脚本对请求的Pre、Routing、Post和Error四个切面,进行动态热部署加载进行拦截,进而实现灵活的路由机制。
    通过与Netflix其它的OSS组件进行集成,很容易就实现微服务开发


    集成方式有三种

    直接集成Zuul

    不依赖Netflix其它组件和Spring Cloud,需要自定义路由规则和丰富网关服务

    随Karyon/Ribbon集成

    依赖Netflix其它组件,如Eureka,Ribbon和karyon等,但提供了更丰富的网关服务,路由规则还需自定义实现

    随Spring Cloud集成

    通过注解即可集成,路由规则可配置,同时也可享用Netflix丰富的网关服务

    性能测试

    1. 自吹是胜过nginx
    2. 动态脚本,性能不可能不受影响: 应该做了一定的优化——实例化后进行缓存
    3. JVM系语言,拿单点性能与C语言相比,有点难以自信

    Filter实时加载原理

     开启一个转门的线程(A),每隔一段时间会去扫描指定的目录(pre,post等),只扫描.groovy文件,通过对比缓存的最后修改时间与文件的修改时间,如果有修改则清除缓存的Filter实例,创建一个新的GroovyClassLoader去加载该文件进行编译,然后实例化——由于每次创建都是类加器,这些类加载器的父类都是A所在的类加载器,这些因此每都会重新加载class.
    

    Groovy和Scala对比

    Groovy专注于脚本市场,与Java进行配合,可以相得益彰,取长补短
    Scala是面向函数式编程,但同时支持面向对象,虽然社区活跃,但整体从java搬迁至Scala,目前也不现实。

    相关文章

      网友评论

          本文标题:初识zuul

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