retry就是重试的意思,在咱们的系统中,分布式或者是外部服务,存在其余服务异常,或者网络问题,须要咱们重试的状况,可是重试可能仍是错误的,总不能让系统一直报错,直到崩掉吧。因此熔断器的功能就是必须的啦,在重试的次数仍是失败的时候,就终止,好比dubbo这样微服务的框架,通常都会配置重试次数。这些spring retry 都作了处理,还能够配置重试的异常类型和时间间隔等。git
能够看看这个quickstart(https://github.com/spring-projects/spring-retry),而后建立一个spring boot 的项目。github
而后在 pom 中加入相应的依赖spring
而后咱们写一个启动类,区别就是加上 EnableRetry 的注解,这样重试会生效微信
而后咱们看看咱们实现的类中的方法,这里咱们会捕获TypeOneException.class, TypeTwoException.class异常,而后maxAttempts是4网络
日志输出:框架
若是咱们不用重试,那么会是如下的日志输出:分布式
有什么讨论的内容,能够加我微信公众号:微服务