DUBBO注册消费过程

Dubbo学习目录


Dubbo学习目录

作用:提供服务自动注册,自动发现等高效服务治理方案

Dubbo架构图

  1. Provider:提供者,服务发布方
  2. Consumer:消费者,调用服务方
  3. Container:Dubbo容器,依赖于Spring容器
  4. Registry:注册中心,当Container启动时,把所有可以提供的服务列表上Registry中进行注册
  5. Monitor:监听器
  6. 虚线都是异步访问,实线都是同步访问
  7. 蓝色虚线:都是在启动的时候完成的功能
  8. 红色虚线(实线):都是运行过程中执行的功能
  9. 所有的角色都是可以在单独的服务器上,所以必须遵守特定的协议
    作用:告诉Consumer提供了什么服务和服务方在哪里
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210314014145230.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yX1hpYW9CYW8=,size_16,color_FFFFFF,t_70#pic_center)

运行原理

(1)启动容器,相当于在启动Dubbo的Provider
(2)启动后回曲注册中心进行注册,注册所有可以提供的服务列表
(3)在Consumer启动后会去Registry中获取服务列表和Provider的地址,进行丁云
(4)当Provider有修改后,注册中心会把消息推送给Consummer,使用了观察者设计模

(5)根据获取到的Provider地址,真实调用Provider中的功能,在consummer方使用了代理设计模式,创建了一个Provider方类的一个代理对象。通过代理对象获取Provider中的真实功能,起到保护Provider真实功能的作用。
(6)Consumer和Provider每隔一分钟会向Monitor发送统计信息,统计信息包括访问次数,频率等。

Dubbo注册中心

  1. Zookeeper:
  • 优点:支持网络集群
  • 缺点:稳定性受限于zookeeper
  1. redis注册中心:
  • 优点:性能高(内存型数据库)
  • 缺点:对服务器的环境要求较高
  1. Multicast:
  • 优点:面中心化,不需要额外安装注册中心
  • 缺点:建议同机房(局域网)内使用
  1. Simple:
  • 适用于测试环境,不支持集群

Zookeeper:分布式协调组件,本质上是一个软件

常用功能:

  • 发布订阅功能,把zookeeper当作注册中心的原因
  • 分布式/集群管理功能
  • 使用Java语言编写

Dubbo支持的协议


1.Dubbo

  • Dubbo官方推荐的协议.
  • 本质:使用NIO和线程池进行处理.
  • 缺点:大文件传输时可能出现文件传输失败问题.
    2.RMI
  • JDK提供的协议,远程方法调用协议.
  • 缺点:偶尔连接失败.
  • 优点:JDK原生,不需要进行额外配置(导入jar)
    3.Hession
  • 优点:基于http协议,http请求支持.
  • 缺点:需要额外导入jar,并在短连接时性能低
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值