美文网首页程序员
Resilience4j源码解析-1 介绍及环境搭建

Resilience4j源码解析-1 介绍及环境搭建

作者: coding到灯火阑珊 | 来源:发表于2018-12-19 17:33 被阅读12次

    一,简介

        Resilience4j是受Hystrix启发而做的新一代轻量级熔断器,基于Java8的函数式编程开发。resilience4j只依赖一个Vavr包(函数式库),不需要再引入其他包,所以相对于Hystrix是轻量级的。同时resilience4j的模块化程度更好,很容易的扩展附加模块。

    目前Resilience4j包括熔断(CircuitBreaker)、限流(RateLimiter)、隔离(BulkHead)、重试(Retry)、缓存(Cache)、执行时间限制(TimeLimiter)等模块及一些附加模块(Add-on modules)。

    二,环境搭建

    1,安装Gradle及设置

    由于Resilience4j采用gradle进行编译及打包,所以我们需要下载及安装最新版本的gradle,同时在IDE中进行环境设置。Resilience4j在github上的地址: https://github.com/resilience4j/resilience4j.git clone下来及导入到IntelliJ IDEA中,设置resilience4j的gradle环境,如图:

    Service directory path是放置类包的仓库。勾选Use auto-import选项,grade会对resilience4j源码进行依赖导入及编译。

    2,代码调试

    编译好的Resilience4j代码,如下图:

    如果我们要研究circuitbreaker的源码,就可以进入到resilience4j-circuitbreaker模块中,找到单元测试类CircuitBreakerTest类,设置断点,进行代码跟踪调试了。

    测试类路径在:

    其中的一个测试方法如下图:

    3,本系列文章重点研究源码,源码的中文注释地址:https://github.com/Justin02180218/resilience4j 会持续完善。

    至于项目中如何使用Resilience4j,请参考的官方文档:http://resilience4j.github.io/resilience4j/#_getting_started

    下一篇文章《Resilience4j源码解析-2.1 CircuitBreaker模块》讲解熔断器模块。

    ==大家可以关注我的微信公众号,后续文章将在公众号中同步更新:==

    相关文章

      网友评论

        本文标题:Resilience4j源码解析-1 介绍及环境搭建

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