Dubbu知识点总结

Posted by 大雁小鱼的博客 on June 19, 2018

dubbu知识点总结

集群容错

集群容错的意思是,如果调用失败的时候,服务调用方该如何处理重试策略。
dubbo提供的集群容错模式共有5种,分别如下

  1. failover
  2. failfast
  3. failsafe
  4. failback
  5. forking

其中failover为默认策略
下面分别介绍一下5种策略的理解

  1. failover 失败后,尝试调用其他服务器,这通常用于读操作,可通过参数retries来设置重试次数
  2. failfast 快速失败,只发起一次操作,失败了就立刻报错,通常用于非幂等接口调用
  3. failsafe 失败安全,出现异常时,直接忽略掉(有点小残忍)
  4. failback 失败时,会自动记录,定时重发,通常用于消息通知
  5. forking 并行调用多个服务器,只要有一个返回了,就返回成功,注意,这个不能用于非幂等接口

服务降级

服务降级的目的是保证核心业务的可用和稳定,当某些非核心业务出现错误且可能影响到核心业务的时候,调用方可以返回一个兜底的数据,而不再调用服务提供方。dubbo使用mock来返回兜底数据。

配置的优先级

dubbo的配置可以在服务提供方,也可在服务调用方,如果2者都配了,它的优先顺序是
调用方 优先于 提供方
dubbo的配置可以在类级别,也可以在方法级别,如果2者都配置了,它的优先顺序是
方法级别 优先于 类级别

SPI

SPI的本质是面向接口编程,官方定义好接口规范后,不同的实现者实现自己各自的具体实现逻辑,使用者通过引入不同的Java包从而可以在不修改客户端代码的情况下使用不同的实现类。

dubbo SPI的实现比Java自带的SPI实现多了一些特性

  1. dubbo的SPI支持依赖注入

参考网站

https://dubbo.gitbooks.io/dubbo-user-book/content/