Dubbo的架构体系
调用关系说明
服务容器负责启动,加载,运行服务提供者。
服务提供者在启动时,向注册中心注册自己提供的服务。
服务消费者在启动时,向注册中心订阅自己所需的服务。
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调
用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。
连通性
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中
心不转发请求,压力较小
监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟⼀次发送到监控中心服务器,并以报
表展示
服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调⽤提供者,同时汇报调用时间到监控中
心,此时间包含网络开销
注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
注册中心通过⻓连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
健状性
监控中心宕掉不影响使用,只是丢失部分采样数据
数据库宕掉后,注册中心
仍能通过缓存提供服务列表查询,但不能注册新服务
注册中心对等集群,任意一台宕掉后,将自动切换到另一台
注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
服务提供者无状态,任意一台宕掉后,不影响使用
服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
伸缩性
注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
服务提供者无状态,可动态增加机器部署实例,注册中⼼将推送新的服务提供者信息给消费者
升级性
当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不
会带来阻力。下图是未来可能的一种架构
欢迎工作一到五年的Java工程师朋友们加入Java架构开发:855801563 获取更多免费视频教程。
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代
转载于:https://blog.51cto.com/13981400/2306678
Dubbo的架构体系相关推荐
- 日调度5万亿次,腾讯云微服务架构体系TSF深度解读
http://www.infoq.com/cn/news/2018/02/deep-interpretation-TSF-cloud-mi 写在前面 当前,传统企业的IT系统以单体架构为主,在面对互联 ...
- Dubbo学习总结(5)——Dubbo服务架构及服务治理过程演进
单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键. 垂直应用架构 当访问量逐渐增大,单 ...
- 日调度5万亿次 腾讯云微服务架构体系TSF深度解读
点击关注 InfoQ,置顶公众号 接收程序员的 8 点技术早餐 1 写在前面 当前,传统企业的 IT 系统以单体架构为主,在面对互联网业务的冲击时,系统架构的性能瓶颈逐渐显现.云计算.Docker.D ...
- 【九】分布式微服务架构体系详解——共识问题
前言 分布式架构体系中,一致性和共识是分不开的概念,一致性也是我们解决很多分布式问题的关键.比如通过一致性模型可以实现数据集群的数据复制:通过基于阻塞的2PC协议可以实现分布式的原子性提交,保证事务数 ...
- 转:一套大而全的系统架构体系与具体落地方案
原文地址: https://new.qq.com/omn/20171229/20171229B02VYY.html 本文根据DBAplus社群第131期线上分享整理而成,文末还有好书送哦~ 讲师介绍 ...
- 一张图揭示主流互联网架构体系
先来一个自我介绍:<RocketMQ技术内幕>作者.『中间件兴趣圈』公众号维护者.2019 年 RocketMQ 社区优秀布道师评选斩获第一名.2019 年度CSDN博客之星TOP10获得 ...
- 微服务:架构体系的深度治理
微服务模式下,庞大的服务节点数量.日趋复杂的服务分层.离散的组织协同.扁平化的管理模式让服务治理的广度.深度.难度都达到前所未有的程度. 单纯依靠微服务框架层面的治理是远远不够的,需要构建贯穿研发.测 ...
- 一套大而全的系统架构体系与具体落地方案
欢迎关注原创公众号: 你们公司的IT系统架构是怎样的?又如何具体落地?采用了哪些开源或是商业的技术? 其实之前也写过或是做过一些关于系统架构的分享,或多或少的个人或其它限制,总觉得未能尽兴,留有遗憾. ...
- 从Java架构体系到BATJ面试总结,看他是怎样用1年走完别人5年的路
介绍一下,这一次笔者笔下的这位大牛,lison,复旦大学工程硕士,专注技术十年,产品控.代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目.热爱互联网,热衷于各种web技术,精通JAV ...
- 分布式微服务架构体系详解
课程介绍 微服务架构的技术体系.社区目前已经越来越成熟.在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师.运维工程师会考虑是否需要搭建微服务架构体系.虽然很多文章都说微服务 ...
最新文章
- 解决Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.init()的总结...
- Azure正式对外发布容器服务,支持Swarm和Mesos
- startservice方式启动服务
- 《ES6标准入门》49~68Page 数值的拓展 数组的拓展
- SecureCRT 连接虚拟机Linux
- 深入理解Kafka(4)-主题与分区
- [USACO15FEB]Superbull (最小生成树)
- at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
- java 服务端重复提交_java 服务器端验证重复提交
- MSSQLSERVER查询分析器连接的方法
- 快播创始人微博晒出团队合照
- 【黄啊码】关于vue的PC端和手机端框架
- 【培训版】《最强大脑记忆力训练教程》[2017年7月份更新]
- 学习之Java(方法)
- 2020泰迪杯C题解题流程
- Team System:基本 Power Tool 工具
- 山东理工大学计算机期末考试题,山东理工大学计算机基础试题11
- C语言高一,高一数学上学期的所有知识点
- 7 数据挖掘案例实战1—百度新闻标题、网址、日期及来源
- 25 欧拉积分: (伽马)函数、(贝塔)函数
热门文章
- Python基本的数据结构-序列
- 创业在微软——微软亚洲工程院成长启示(双色)
- 4.寻找两个正序数组的中位数
- 二分法02:寻找第一个和最后一个的满足条件的位置
- Identity Mappings in Deep Residual Networks2016【论文理解】
- python3.5安装pip_python详细安装pip教程
- redis 3.0.0 linux下载,centos安装redis3.0.0集群
- php 1个中文几个字节,PHP函数第15款:gbk中文截取,1个中文字节为2个英文字节 cn_substr...
- 蓝桥杯2019年第十届C/C++省赛C组第六题-旋转
- Ubuntu 更改文件夹权限