文章目录

  • 1.决定一个RPC框架的的因素:
  • 2.dubbo配置的优先级
  • 3.有哪些配置项
  • 4、灰度发布:
  • 5.本地存根
  • 6.高可用
  • 7.负载均衡
  • 8、服务降级、容错
  • 9、服务容错
  • 10、dubbo原理


1.决定一个RPC框架的的因素:

  • 服务间的链路建立
  • 数据的序列化与反序列化效率

dubbo 是ali贡献给apache
dubbo特性:

  • 面向接口代理的高性能RPC调用
  • 智能负载均衡
  • 服务自动注册与发
  • 高度可扩展能力
  • 运行期流量调度(灰度发布)
  • 可视化的服务治理与运维

2.dubbo配置的优先级

-> java -Ddubbo.protocol.port=20880
-> dubbo.xml/application.xml
-> dubbo.properties

优先
精确优先 -》 方法-》接口 -》全局配置
如果级别一样, consumer -> producer

3.有哪些配置项

  • check: true/false 启动时检查,会检查依赖的服务,也就是服务提供者/注册中心 是不是已开启,如果是true,服务提供者没有启动,会报错
  • retries: 重试次数,不包含第一次,而且如果存在多个服务提供实例,会尝试其他的实例, 幂等操作可以设置重试操作,但是幂等操作不能设置重试次数。

4、灰度发布:

服务提供者多个版本
服务消费者可以配置与之对应的版本号,则对应版本消费,服务消费者版本号配置为*,则随机调用

5.本地存根

—: 在调用远程服务之前,本地先进行验证等操作

6.高可用

注册中心宕机,服务提供者和服务消费者基于本地缓存,仍然可以使用。没有注册中心,可以采用dubbo直连的方式,调用dubbo服务。
---- ?dubbo配置的地址是啥: 服务提供者所在的机器地址 —

7.负载均衡

  • 默认: 随机
  • 轮询(基于权重的)权重可以在发现中心动态配置
  • 最少活跃数:上一次处理请求最少耗时
  • 一致性hash

8、服务降级、容错

当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或者换种简单的方式处理,从而释放服务器资源以保证核心业务正常运作。

9、服务容错

比如服务器超时,不返回错误、返回空。
使用Hystrix进行服务容错: 指定方法出错时调用的方法

10、dubbo原理