文章目录
- 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原理