简历知识点准备

阅读过的书:

Java从入门到精通、Java编程思想、Java并发编程的艺术、深入理解 Java 虚拟机

1. Hystrix熔断框架

用来保障第三方服务调用的可靠性,防止服务雪崩;

使用方法:继承HystrixCommand,命令逻辑写在run方法里,熔断打开时,请求过来执行getFallBack方法;

Hystrix的Metrics中保存了当前服务的健康状况,包括服务调用总次数和服务调用失败次数等。根据Metrics的计数,熔断器从而能计算出当前服务的调用失败率,用来和设定的阈值比较从而决定熔断器的状态切换逻辑,因此Metrics的实现非常重要。

熔断半开,恢复探测。

  1. 将远程服务调用逻辑封装进一个HystrixCommand。
  2. 对于每次服务调用可以使用同步或异步机制,对应执行execute()或queue()。
  3. 判断熔断器(circuit-breaker)是否打开或者半打开状态,如果打开跳到步骤8,进行回退策略,如果关闭进入步骤4。
  4. 判断线程池/队列/信号量(使用了舱壁隔离模式)是否跑满,如果跑满进入回退步骤8,否则继续后续步骤5。
  5. run方法中执行了实际的服务调用。 
    a. 服务调用发生超时时,进入步骤8。
  6. 判断run方法中的代码是否执行成功。 
    a. 执行成功返回结果。 
    b. 执行中出现错误则进入步骤8。
  7. 所有的运行状态(成功,失败,拒绝,超时)上报给熔断器,用于统计从而影响熔断器状态。
  8. 进入getFallback()回退逻辑。 
    a. 没有实现getFallback()回退逻辑的调用将直接抛出异常。 
    b. 回退逻辑调用成功直接返回。 
    c. 回退逻辑调用失败抛出异常。
  9. 返回执行成功结果。

2. 插件扩展机制

定义插件接口,所有插件实现该接口,并在实现类上打上自定义的注解,里面的name就定义为插件名,使用Autowired自动注入所有实现接口的插件类到一个list中,缓存到map中,key值为插件名,后面就根据插件名路由调用插件。

3. 异步回调

使用CompletableFuture类

 

4. Quartz任务调度框架

scheduler、job、trigger

 

5. Guava

缓存

缓存定时回收

异步事件总线Event Bus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值