Dubbo的架构体系


调用关系说明

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调

用。

  1. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。

连通性

注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中

心不转发请求,压力较小

监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟?次发送到监控中心服务器,并以报

表展示

服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销

服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调?提供者,同时汇报调用时间到监控中

心,此时间包含网络开销

注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外

注册中心通过?连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者

注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表

注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

健状性

监控中心宕掉不影响使用,只是丢失部分采样数据

数据库宕掉后,注册中心

仍能通过缓存提供服务列表查询,但不能注册新服务

注册中心对等集群,任意一台宕掉后,将自动切换到另一台

注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

服务提供者无状态,任意一台宕掉后,不影响使用

服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

伸缩性

注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心

服务提供者无状态,可动态增加机器部署实例,注册中?将推送新的服务提供者信息给消费者

升级性

当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不

会带来阻力。下图是未来可能的一种架构

原文地址:http://blog.51cto.com/13981400/2306678

时间: 2024-10-10 20:33:40

Dubbo的架构体系的相关文章

分布式系统的那些事儿(六) - SOA架构体系

有十来天没发文了,实在抱歉!最近忙着录视频,同时也做了个开源的后台管理系统LeeCX,目前比较简单,但是后续会把各类技术完善.具体可以点击"原文链接". 那么今天继续说分布式系统的那些事. 我们现在动不动就讲分布式吧?那么SOA是不是必须得聊一聊呢? 面向服务的架构,简称SOA,他是基于服务组件的,把原来那种一个大型应用程序的不同的功能拆分为一些接口,通过这些接口串联起来. 这么做的好处是: 1.重用性大大提高 2.明确了接口的服务定义规则 3.定义了自家公司的api标准 4.降低系统

高性能、高可用的分布式架构体系(转)

在2B企业服务.云计算.移动互联网领域,专业的云平台服务里,分布式技术为支撑平台正常运作关键性技术.从商业利润和运维成本角度出发,千方百计榨干服务器的每一分性能很大程度上影响着网站的商业价值,因此对性能的追求,成为分布式架构体系中极为重要的考量指标:从用户角度,特别是作为主要收入来源的企业用户的角度出发,保证业务处理的正确性和服务不中断(高可用性)是支撑用户信心的重要来源.高性能,高可用,正确性成为分布式架构体系的关键技术因素. 对于网站产品的的架构体系,可以选择开源或自主研发:如果拥抱开源,则

龙果学院基于Dubbo分布式系统架构的第三方支付系统实战教程五一优惠活动

五一特惠,200元免费领!龙果学院<基于Dubbo分布式系统架构实战教程>提前大放“价”:点击分享链接购买即可获得百元现金红包奖励,更多惊喜请点击:http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2BnHpF8rHqMAsZ9U%2Ff1CcK%2Fi%2BOVhELgcRY7CQA%3D%3D 关注公众号:

Dubbo分布式系统架构,持续集成篇 Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven

  环境:CentOS 6.6 Final.JDK7.SonatypeNexus.Maven IP:192.168.4.221 root用户操作 前提:已安装JDK7并配置好了环境变量 1.下载最新版Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下载地址:http://www.sonatype.org/nexus/go/ # wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/n

非常不错的文章,囊括啦高性能、高可用的分布式架构体系所有名词

在2B企业服务.云计算.移动互联网领域,专业的云平台服务里,分布式技术为支撑平台正常运作关键性技术.从商业利润和运维成本角度出发,千方百计榨干服务器的每一分性能很大程度上影响着网站的商业价值,因此对性能的追求,成为分布式架构体系中极为重要的考量指标:从用户角度,特别是作为主要收入来源的企业用户的角度出发,保证业务处理的正确性和服务不中断(高可用性)是支撑用户信心的重要来源.高性能,高可用,正确性成为分布式架构体系的关键技术因素. 对于网站产品的的架构体系,可以选择开源或自主研发:如果拥抱开源,则

JUnit 5 系列:架构体系

JUnit 5 分离的关注点 退一步想,我们不难辨识出,这里至少有两个不同的关注点需要分离: 一个支持测试代码撰写的 API 一个识别测试.运行测试的机制 再仔细思考一下第二点,我们可能会问,“哪些测试?”这个当然是指 Junit 测试.“我知道,但具体是哪些版本的测试呢?”呃…“还有,具体是指什么类型的测试?”好吧,你让我给你……“只能跑那些老版本的 @Test 注解的测试么?有没有其他新的方法来运行测试呢?……”行行行,都给我闭嘴!听我讲着. 为了进一步将待识别测试的类型 与 实际运行它们

系统架构:架构体系

每个公司的IT环境,不论大小复杂度,总会有个系统架构层次.有了这个架构体系,那所有的运维事情大体都围绕着这个系统架构上的每个元素及整体关联进行运维保障工作.运维架构从某种角度可以划分为两大阵营: 商业封闭式系统架构(IOE架构):以使用IBM.Oracle.EMC产品为代表的一系列软硬件产品为主要元素的运维系统架构,以及围绕这个架构的人.事.物.流程标准. 开源系统架构(非IOE架构):以使用廉价PC服务器,开源产品技术(而非IOE)为主要元素的运维系统架构,以及围绕这个架构的人.事.物.流程标

架构师速成-架构体系

经过这段时间的反思和整理,终于对架构有了一个较为明确的理解.架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程: 配置.编码.测试.运维.监控分析.安全.运营等一系列技术体系的选型.取舍 技术选型基础上进行规划.设计.实现.迭代.制定相关规范 相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化 架构不止包含技术的框架,比如有人用了spring就觉得我已经是架构师了,其实架构并不是这么简单.我们以做一个新浪微博类似产品为例,现实应该是这样的: 产品初

分布式架构体系

分布式架构体系 https://juejin.im/post/5da6b68b51882565f76606fb?utm_source=gold_browser_extension 原文地址:https://www.cnblogs.com/frankltf/p/11737333.html