dubbo 总结

54 篇文章 0 订阅
48 篇文章 0 订阅

分布式 rpc框架(远程过程调用)
用来维护治理分布式系统中复杂的调用关系!
archiitect

注册中心 消费者 生产者 container 监控中心
**消费者同步调用服务提供者!

在这里插入图片描述

zookeeper

树型目录服务 

超时

精确设置的优先:方法优先 接口次之 全局再次之
消费者设置的优先(级别一样的情况下)
	无论是time-out retries(重试 默认轮训) loadblanace actives等都是一样的规则

在这里插入图片描述
在这里插入图片描述
配置多版本

可以用version进行配置   实现灰度发布

本地存根

在调用provider之前进行参数验证或者缓存的时候可以使用本地存根 远程服务接口相当于在本地也有一份存根代码 满足要求再用远程代理对象调用远程服务
1实现接口
2写有参构造器(传入的是远程代理对象)
3写reference配置文件

在这里插入图片描述
高可用

消费者调用过一次提供者的话  即使注册中心宕机 消费者还是可以通过本地缓存去调用(已经知道提供者在哪台机器了,,,,,,监控中心 注册中心集群也是一样的)

dubbo 直连

即使没有注册中心 也可以通过dubbo进行直连. reference注解写上提供者的ip端口号即可!

集群下的dubbo负载均衡

1按权重随机
2按权重轮训:访问还是轮训 但是最后考虑权重值
3最少活跃调用数 相同活跃的随机   使得越慢的调用越少(越慢的提供者调用前后技术差越大)
4一致性hash

默认按照权重进行随机的负载均衡机制!!!
可以通过注解erference进行修改loadbalance机制   可以在service注解写权重 也可以在dubbo控制台进行修改

服务降级

对一些服务 页面不处理或简单的处理 ===》从而释放服务器的资源 保证核心交易正常运行 

方法:(都是在消费方设置)
			1消费方调用服务的时候直接返回null 不进行远程调用
						mock = force:return + null
						也可以在dubbo控制台设置 进行屏蔽
		    2 消费方进行服务调用的时候 由于网络波动或者其他原因(超时)调用失败后 返回null 不抛出异常  (好处也有减少不重要服务不稳定的时候对调用方和服务提供方的影响)
		    			dubbo控制台 点击 容错

集群容错模式
集群调用失败的时候的方案

1重新切换到能提供服务的其他机器
2只发起一次调用 失败立即报错   (有的幂等性操作可以retry多次的  但是非幂等的不行)
3忽略出现的异常  写入审计日志
4失败自动恢复   失败一段时间后定时的进行调用  适用于消息通知 和一些必须要成功的调用
5对于实时性要求高的 可以并行调用 同事调用多台服务器上的同一个服务
6调用服务的全部机器 任何一台有问题都认为调用失败 用来更新缓存 更新本地日志等等(就是每台服务器都必须成功)

可以在service 和 reference标签中配置

可以整合hystrix进行服务容错

RPC原理

远程过程调用

computer1 调用 2的话   发起远程调用 通过 代理对象  把我们要调用的信息通过网络传输给服务端 服务端收到后调用本地的方法 调用完成后 服务端也通过代理 在网络传输回去 ,客户端代理收到结果后进行返回 ,   ((((像调用本地方法一样调用 。把中间的过程封装起来,rpc框架包括了代理对象 封装数据 网络传输等))))  

dubbo底层通信通过netty(nio)

在这里插入图片描述
在这里插入图片描述
dubbo原理

1spring解析配置文件中的每个标签都有一个总接口 :BeanDefinitionParser
		dubboBeanDefinitionParser解析你配置的标签 存储到对应的。。。config里面
		
2	service标签会封装成servicebean 创建完后  
					调用afterPropertiesSet()     						 ----------都是spring的原理
					:保存标签里配置的provider application module register monitor protocols
			ioc容器启动完成后调用:  onApplicationEvent
					:如果是要暴露的服务 但是还没有暴露 进行服务的暴露
								暴露url地址: 加载注册中心信息	把协议在对应的端口进行暴露  写入到对应的提供者消费者注册表(就是缓存 所以dubbo有缓存的功能)中 暴露服务 创建服务器(创建的就是netty服务器 监听对应的端口)

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值