Dubbo学习记录
一、Dubbo架构
二、Provider启动Dubbo
1.实现类的@Service注解
2.Dubbo的配置信息
3.引入web.xml,加载Spring核心配置文件,才可以扫描到Dubbo的配置信息
二、Consumer启动Dubbo
1.@Autowired改为@Reference
2.qos介绍:Dubbo远程监控和控制的组件
QoS的英文全称为"Quality of Service",中文名为"服务质量",可以通过它能够看到服务提供者状态,服务调用者状态,现在dubbo提供了 ls , online,offline,help ,quit命令。
3.Web和Service依赖公共接口
公共接口写好后,需要 install 接口,然后Consumer和Provider都需要去依赖公共接口
三、dubbo-admin管理平台
dubbo-admin前台操作页面
Dubbo会默认占用本机的端口:20880
如果一台机器上需要启动多个服务,则需要修改Dubbo占用的端口,否则会发生端口冲突
四、Dubbo高级特性
1.序列化
否则会报错!
2.Dubbo的地址缓存
因为Dubbo有地址缓存,即使注册中心挂了,服务可以正常访问!
ZK如果挂了,新的服务就无法注册成功了;服务提供者地址变了也无法通知消费者
3.Dubbo的超时
Dubbo 有 timeout 属性来设置超时的时间,如果超时线程自动断开
服务提供方和服务调用方均可设置超时时间
最好由服务提供方来定义超时时间,因为服务的提供方更加了解业务可能需要多久
服务提供方设置超时时间
服务调用方设置超时时间
4.Dubbo的超时重试
只有超时了才会重试,不超时不会重试!
重试2次,意味着总共执行3次
5.Dubbo的多版本
服务提供方:@Service(version = “v2.0”)
服务调用方:@Reference(version = “v2.0”)
服务提供方
服务调用方
6.Dubbo的负载均衡
服务提供方:@Service(weight = 100)
服务调用方:@Reference(loadbalance = “random”)
四种负载均衡的策略
四种实现类
Random随机:根据权重进行随机
权重轮询:根据权重对所有服务器进行轮询
7.Dubbo的容错机制
@Referencr(Cluster = “failover”)
8.Dubbo的服务降级
当服务器性能达到极限,选择关闭一些不重要的服务,把性能让给重要服务