Dubbo架构介绍
1,什么是Dubbo
Dubbo是阿里巴巴在2011年开源的分布式服务框架,是服务化治理的核心框架。 Dubbo主要提供3个功能,远程接口调用,负载均衡和容错,服务注册和服务发现
目前,已经是Apache的开源项目
2,Dubbo的架构
点击并拖拽以移动
3,工作细节说明(来自dubbo官网)
节点角色说明(掌握)
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
调用关系说明
- 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务消费者在启动时,向注册中心订阅自己所需的服务。
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo 架构具有以下几个特点
连通性
· 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
· 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
· 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
· 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
· 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
· 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
· 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
· 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
健状性
· 监控中心宕掉不影响使用,只是丢失部分采样数据
· 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
· 注册中心对等集群,任意一台宕掉后,将自动切换到另一台
· 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
· 服务提供者无状态,任意一台宕掉后,不影响使用
· 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
伸缩性
注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者
1,什么是Dubbo
Dubbo是阿里巴巴在2011年开源的分布式服务框架,是服务化治理的核心框架。 Dubbo主要提供3个功能,远程接口调用,负载均衡和容错,服务注册和服务发现
目前,已经是Apache的开源项目
2,Dubbo的架构
3,工作细节说明(来自dubbo官网)
节点角色说明(掌握)
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
调用关系说明
- 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务消费者在启动时,向注册中心订阅自己所需的服务。
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo 架构具有以下几个特点
连通性
· 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
· 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
· 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
· 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
· 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
· 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
· 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
· 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
健状性
· 监控中心宕掉不影响使用,只是丢失部分采样数据
· 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
· 注册中心对等集群,任意一台宕掉后,将自动切换到另一台
· 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
· 服务提供者无状态,任意一台宕掉后,不影响使用
· 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
伸缩性
注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
加速查询MaxCompute再对接FBI(帆软)的完整链路来啦!
概要 MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量离线数据。FineReport是领先的企业级Web报表工具,通过类Excel的设计器一键连接数据源,拖拽字段绑定单元格,一张实时报表就可以制作完成。既可以独立部署,也可以与其他系统无缝集成。易学易用易实施。当使用MaxCompute直接对接FBI时,由于MaxCompute本身架构的限制,当需要使用FBI查询大量数据时,性能表现会比较差,不能完全满足OLPA场景的即席查询要求。交互式分析是一款兼容Postgressql的实时交互式产品,在底层与MaxCompute无缝打通,支持直接查询、导入查询两种模式快速查询MaxCompute的数据,同时还能对接其他BI工具,实现数据源--数据查询--数据可视化分析的完整链路,完美解决MaxCompute的自身缺陷问题。本文旨在分享使用交互式分析查询MaxCompute数据,再对接FBI的完整链路,快速搭建大数据生态完整链路。 前提条件 1.开通交互式分析。2.开通MaxCompute。3.下载并安装FBI客...
- 下一篇
把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果