调用关系说明

  1. 服务容器负责启动,加载,运行服务提供者。

  2. 服务提供者在启动时,向注册中心注册自己提供的服务。

  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。

  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调

用。

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

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

连通性

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

心不转发请求,压力较小

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

表展示

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

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

心,此时间包含网络开销

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

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

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

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

健状性

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

数据库宕掉后,注册中心

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

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

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

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

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

伸缩性

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

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

升级性

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

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


欢迎工作一到五年的Java工程师朋友们加入Java架构开发:855801563 获取更多免费视频教程。

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

转载于:https://blog.51cto.com/13981400/2306678

Dubbo的架构体系相关推荐

  1. 日调度5万亿次,腾讯云微服务架构体系TSF深度解读

    http://www.infoq.com/cn/news/2018/02/deep-interpretation-TSF-cloud-mi 写在前面 当前,传统企业的IT系统以单体架构为主,在面对互联 ...

  2. Dubbo学习总结(5)——Dubbo服务架构及服务治理过程演进

    单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.  此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键.  垂直应用架构  当访问量逐渐增大,单 ...

  3. 日调度5万亿次 腾讯云微服务架构体系TSF深度解读

    点击关注 InfoQ,置顶公众号 接收程序员的 8 点技术早餐 1 写在前面 当前,传统企业的 IT 系统以单体架构为主,在面对互联网业务的冲击时,系统架构的性能瓶颈逐渐显现.云计算.Docker.D ...

  4. 【九】分布式微服务架构体系详解——共识问题

    前言 分布式架构体系中,一致性和共识是分不开的概念,一致性也是我们解决很多分布式问题的关键.比如通过一致性模型可以实现数据集群的数据复制:通过基于阻塞的2PC协议可以实现分布式的原子性提交,保证事务数 ...

  5. 转:一套大而全的系统架构体系与具体落地方案

    原文地址: https://new.qq.com/omn/20171229/20171229B02VYY.html 本文根据DBAplus社群第131期线上分享整理而成,文末还有好书送哦~ 讲师介绍 ...

  6. 一张图揭示主流互联网架构体系

    先来一个自我介绍:<RocketMQ技术内幕>作者.『中间件兴趣圈』公众号维护者.2019 年 RocketMQ 社区优秀布道师评选斩获第一名.2019 年度CSDN博客之星TOP10获得 ...

  7. 微服务:架构体系的深度治理

    微服务模式下,庞大的服务节点数量.日趋复杂的服务分层.离散的组织协同.扁平化的管理模式让服务治理的广度.深度.难度都达到前所未有的程度. 单纯依靠微服务框架层面的治理是远远不够的,需要构建贯穿研发.测 ...

  8. 一套大而全的系统架构体系与具体落地方案

    欢迎关注原创公众号: 你们公司的IT系统架构是怎样的?又如何具体落地?采用了哪些开源或是商业的技术? 其实之前也写过或是做过一些关于系统架构的分享,或多或少的个人或其它限制,总觉得未能尽兴,留有遗憾. ...

  9. 从Java架构体系到BATJ面试总结,看他是怎样用1年走完别人5年的路

    介绍一下,这一次笔者笔下的这位大牛,lison,复旦大学工程硕士,专注技术十年,产品控.代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目.热爱互联网,热衷于各种web技术,精通JAV ...

  10. 分布式微服务架构体系详解

    课程介绍 微服务架构的技术体系.社区目前已经越来越成熟.在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师.运维工程师会考虑是否需要搭建微服务架构体系.虽然很多文章都说微服务 ...

最新文章

  1. 解决Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.init()的总结...
  2. Azure正式对外发布容器服务,支持Swarm和Mesos
  3. startservice方式启动服务
  4. 《ES6标准入门》49~68Page 数值的拓展 数组的拓展
  5. SecureCRT 连接虚拟机Linux
  6. 深入理解Kafka(4)-主题与分区
  7. [USACO15FEB]Superbull (最小生成树)
  8. at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
  9. java 服务端重复提交_java 服务器端验证重复提交
  10. MSSQLSERVER查询分析器连接的方法
  11. 快播创始人微博晒出团队合照
  12. 【黄啊码】关于vue的PC端和手机端框架
  13. 【培训版】《最强大脑记忆力训练教程》[2017年7月份更新]
  14. 学习之Java(方法)
  15. 2020泰迪杯C题解题流程
  16. Team System:基本 Power Tool 工具
  17. 山东理工大学计算机期末考试题,山东理工大学计算机基础试题11
  18. C语言高一,高一数学上学期的所有知识点
  19. 7 数据挖掘案例实战1—百度新闻标题、网址、日期及来源
  20. 25 欧拉积分: (伽马)函数、(贝塔)函数

热门文章

  1. Python基本的数据结构-序列
  2. 创业在微软——微软亚洲工程院成长启示(双色)
  3. 4.寻找两个正序数组的中位数
  4. 二分法02:寻找第一个和最后一个的满足条件的位置
  5. Identity Mappings in Deep Residual Networks2016【论文理解】
  6. python3.5安装pip_python详细安装pip教程
  7. redis 3.0.0 linux下载,centos安装redis3.0.0集群
  8. php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
  9. 蓝桥杯2019年第十届C/C++省赛C组第六题-旋转
  10. Ubuntu 更改文件夹权限