Dubbo核心概念

 

 

 

节点角色规范

节点角色规格
Provider提供者公开远程服务
Consumer消费者致电远程服务
Registry注册表负责服务发现和配置
Monitor监视器计算服务调用的数量和耗时
Container容器管理服务的生命周期

服务关系

 

  1. Container负责启动,加载和运行服务Provider
  2. ProviderRegister在启动时向其注册服务。
  3. ConsumerRegister启动时开始订阅所需的服务。
  4. RegisterProviders列表返回Consumer,当它更改时,RegisterConsumer通过长连接将更改的数据推送到。
  5. ConsumerProvider根据软负载平衡算法选择s 之一并执行调用,如果失败,它将选择另一个Provider
  6. 两者ConsumerProvider都会计算内存中调用服务的次数和耗时,并将统计信息发送到Monitor每分钟。

Dubbo具有以下功能:连接性,鲁棒性,可伸缩性和可升级性。

 

 

连接性

  • Register负责注册和搜索服务地址(例如目录服务),Provider并且Consumer仅在启动期间与注册表交互,并且注册表不会转发请求,因此压力较小
  • “监视器”负责计算服务调用的数量和耗时,统计信息将首先在ProviderConsumer的内存中汇总,然后发送到Monitor
  • “提供商”将服务注册到“注册”,并将耗时的统计信息(不包括网络开销)报告给“监控器”
  • “消费者”从中获取服务提供商的地址列表,Registry根据LB算法直接致电提供商,向上报耗时的统计信息Monitor,其中包括网络开销
  • 之间的连接RegisterProvider并且Consumer是长连接,Moniter是一个例外
  • RegisterProvider通过长连接意识到存在,当断开连接时ProviderRegister会将事件推送到Consumer
  • 它不影响已经运行的实例ProviderConsumer甚至所有RegisterMonitor趴下,因为Consumer得到的缓存Provider上榜
  • Register并且Monitor是可选的,Consumer可以Provider直接连接

 

 

坚固性

  • Monitor的停机时间不会影响使用情况,只会丢失一些采样数据
  • 当数据库服务器出现故障时,Register可以通过检查其缓存将服务Provider列表返回到Consumer其中,但是新服务器Provider无法注册任何服务
  • Register 是一个对等集群,当任何实例出现故障时,它将自动切换到另一个集群
  • 即使所有Register实例都发生故障,Provider并且Consumer仍然可以通过检查其本地缓存来进行通信
  • 服务Provider是无状态的,一个实例的停机时间不会影响使用情况
  • Provider一个服务的所有s故障后,Consumer无法使用该服务,并无限地重新连接以等待服务Provider恢复

 

 

可扩展性

  • Register 是一个可以动态增加其实例的对等群集,所有客户端将自动发现新实例。
  • Provider是无状态的,它可以动态地增加部署实例,并且注册表会将新的服务提供者信息推送到Consumer

可升级性

当服务集群进一步扩展并且IT治理结构进一步升级时,需要动态部署,并且当前的分布式服务体系结构不会带来阻力。这是未来可能的架构:

 

节点角色规范

节点角色规格
Deployer用于自动服务部署的本地代理
Repository该存储库用于存储应用程序包
Scheduler调度程序会根据访问压力自动增加或减少服务提供商
Admin统一管理控制台
Registry注册表负责服务发现和配置
Monitor监控器计算服务呼叫时间和时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

良心推荐11款可以称得上“神器”的Windows工具集合

1、最快文件搜索工具 Everything:当之无愧的最强本地文件搜索神器,搜索任何关键词基本是秒速出现,比Windows自带的搜索快了太多,电脑文件比较多的人必备! 2、专业软件卸载器 Revo Uninstaller Pro:Windows电…

LD3320语音识别模块二次开发及与树莓派间的通讯

实物图如下: 一般这种模块的资料厂家都会给,需要的话可以私信我发邮箱,下面介绍该模块的各种参数。型号:YS-LDV7名称:一体化语音识别模块规格:43*29.7MM供电电压:5V (内部工作电压…

多生产者_你是生产者还是消费者?这决定了你的层次。

不知道你有没有注意到,每天乘坐地铁上下班的时候,大部分人都在刷剧、看视频、打游戏等等,总之都属于玩乐。用生产和消费的关系来看的话,其实这一大部分人都属于消费者,“时间和注意力”是他们用于交换的筹码&#xff1…

eclipse Android 开发基础 Activity 窗体 界面

eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form。 新建Activity自动生成src下同名的java代码。 public class Tform2activity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(saved…

8 种常被忽视的 SQL 错误用法

来源&#xff1a;http://t.cn/R6UMaA11、LIMIT 语句2、隐式转换3、关联更新、删除4、混合排序5、EXISTS语句6、条件下推7、提前缩小范围8、中间结果集下推总结sql语句的执行顺序&#xff1a;FROM <left_table>ON <join_condition><join_type> JOIN <right…

变频器按启动没反应_起重机软启动柜晶闸管损坏维修几大故障

缺相保护功能&#xff1a;工作时&#xff0c;软起动器随时检测三相线电流的变化&#xff0c;一旦发生断流&#xff0c;即可作出缺相保护反应。过热保护功能&#xff1a;通过软起动器内部热继电器检测晶闸管散热器的温度&#xff0c;一旦散热器温度超过允许值后自动关断晶闸管&a…

Redis 的各项功能解决了哪些问题?

作者丨blackheart先看一下Redis是一个什么东西官方简介解释到&#xff1a;Redis是一个基于BSD开源的项目&#xff0c;是一个把结构化的数据放在内存中的一个存储系统&#xff0c;你可以把它作为数据库&#xff0c;缓存和消息中间件来使用。同时支持strings&#xff0c;lists&am…

RocketMQ集成SpringBoot

RocketMQ集成SpringBoot RocketMQ总体架构 RocketMQ基本特性

ASP.NET Core 2.2+Quartz.Net 实现Web定时任务

作者&#xff1a;Julian_酱链接&#xff1a;http://www.cnblogs.com/mi12205599/p/10361763.html作为一枚后端程序狗&#xff0c;项目实践常遇到定时任务的工作&#xff0c;最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定…

RocketMQ核心概念

生产者Producer和消费者Consumer NameServer作用 Broker和Topic

交叉编译、软硬链接

什么是交叉编译&#xff1f;交叉编译是一个行为&#xff0c;是在一个平台上生成另一个平台上的可执行代码。 本地编译&#xff1a;本地编译可以理解为&#xff0c;在当前编译平台下&#xff0c;编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发&#xff0c;都是…

Linus下安装maven

下载maven安装包 wget http://mirror.bit.edu.cn/apache/maven/binaries/apache-maven-3.2.2-bin.tar.gz 解压 tar -zxvf apache-maven-3.2.2-bin.tar.gz 配置maven环境变量 查看maven解压后安装包目录 vi /etc/profile 进入最底部&#xff0c;按insert,添加环境变量&#x…

linux内核开发基础(linux内核源码、树莓派源码编译、SD卡挂载)

首先下载树莓派linux内核源码&#xff1a; 下载网址&#xff1a;https://github.com/raspberrypi/linux在树莓派使用指令&#xff1a;uname -r查看当前树莓派的版本号&#xff0c;然后选择对应的linux内核版本号进行下载。 将linux内核源码从共享文件夹拷贝到SYSTEM文件夹&am…

Linux实时查看进程命令top笔记

top命令是Linux下常用的性能分析工具&#xff0c;能够实时显示Linux系统中各个进程的资源占用状况&#xff0c;类似于Windows系统的任务管理器功能。 top命令的语法格式&#xff1a; top [-] [d] [p] [q] [c] [C] [S] [s] [n] 常用参数说明 d 指定每两次屏幕信息刷新之间的时间…

文件系统(文件系统目录结构、磁盘分区、虚拟文件系统)、linux内核结构框图

什么是文件系统&#xff1f; 常规认知就是根目录下那些文件&#xff0c;但其实并不是那样。文件系统是操作系统用于明确存储设备&#xff08;常见的是磁盘&#xff0c;也有基于NAND Flash的固态硬盘&#xff09;或分区上的文件的方法和数据结构&#xff1b;即在存储设备上组织…

Linux进程终止命令kill或kill all​笔记

在linux命令下&#xff0c;如果需要终止某个进程&#xff0c;可以使用kill或者killall等命令来实现。终止命令的原理都是向linux内核发送一个系统操作的信号以及某个进程的ID&#xff0c;然后系统内核会根据指定的进程ID进行相应的处理。 kill命令典型的用法&#xff1a;首先使…

linux驱动(驱动编译、字符设备驱动框架、交叉编译树莓派驱动、树莓派驱动本地编译)

什么是驱动&#xff1a; 驱动就是对底层硬件设备的操作进行封装&#xff0c;并向上层提供函数接口。 设备分类&#xff1a; linux系统将设备分为3类&#xff1a;字符设备、块设备、网络设备。 字符设备&#xff1a;指只能一个字节一个字节读写的设备&#xff0c;不能随机读取…

docker启动报错  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --

docker启动报错 : (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --to-destination 172.17.0.2:9876 ! -i docker0: iptables: No chain/target/match by that name. 解决方案&#xff1a; systemctl restart docker

最详细的docker安装rocketMQ教程来了

RocketMQ是一款分布式、队列模型的消息中间件&#xff0c;是由阿里巴巴设计的&#xff0c;具有以下特点&#xff1a; 支持严格的消息顺序 支持Topic与Queue两种模式 亿级消息堆积能力 比较友好的分布式特性 同时支持Push与Pull方式消费消息 历经多次天猫双十一海量消息考验…