1.Dubbo 的架构图解

上述节点简单说明:

  • Provider: 暴露服务的服务提供方
  • Consumer: 调用远程服务的服务消费方
  • Registry: 服务注册与发现的注册中心
  • Monitor: 统计服务的调用次数和调用时间的监控中心
  • Container: 服务运行容器

调用关系说明:

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

重要知识点总结:

  • 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小
  • 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
  • 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外
  • 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者
  • 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
  • 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者
  • 服务提供者无状态,任意一台宕掉后,不影响使用
  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

2.Dubbo 工作原理

各层说明:

  • 第一层:service层,接口层,给服务提供者和消费者来实现的
  • 第二层:config层,配置层,主要是对dubbo进行各种配置的
  • 第三层:proxy层,服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton
  • 第四层:registry层,服务注册层,负责服务的注册与发现
  • 第五层:cluster层,集群层,封装多个服务提供者的路由以及负载均衡,将多个实例组合成一个服务
  • 第六层:monitor层,监控层,对rpc接口的调用次数和调用时间进行监控
  • 第七层:protocol层,远程调用层,封装rpc调用
  • 第八层:exchange层,信息交换层,封装请求响应模式,同步转异步
  • 第九层:transport层,网络传输层,抽象mina和netty为统一接口
  • 第十层:serialize层,数据序列化层,网络传输需要

需要更多教程,微信扫码即可

Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(2)相关推荐

  1. Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(1)

    1.什么是 Dubbo? Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错 ...

  2. Dubbo(RPC原理、Dubbo架构负载均衡配置方式)(3)

    1.什么是负载均衡 先来个官方的解释. 维基百科对负载均衡的定义:负载均衡改善了跨多个计算资源(例如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动的的工作负载分布.负载平衡旨在优化资源使用,最大 ...

  3. springboot dubbo负载均衡配置

    springboot dubbo负载均衡配置 1.多zookeeper yml配置 2.负载配置 random roundRobin leastActive consistentHash 1.多zoo ...

  4. Dubbo 负载均衡配置

    Dubbo 负载均衡配置 Dubbo 提供了4种负载均衡实现,分别是基于权重随机算法的 RandomLoadBalance.基于最少活跃调用数算法的 LeastActiveLoadBalance.基于 ...

  5. Dubbo内置4种负载均衡算法(详解)

    1.1 什么是负载均衡 在实际开发中,一个服务基本都是集群模式的,也就是多个功能相同的项目在运行,这样才能承受更高的并发,这时一个请求到这个服务,就需要确定访问哪一个服务器 Dubbo框架内部支持负载 ...

  6. dns服务器怎么优化,总结DNS服务器负载均衡配置的原理及优缺点

    负载均衡技术能够平衡服务器集群中所有的服务器和请求应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能,从而使网站始终保持运行和 ...

  7. L4和L7负载均衡原理和常用负载均衡架构实现

    L4和L7负载均衡原理 四层负载均衡原理 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器.以常见的TCP为例,负载均衡设备在接 ...

  8. 地址设置nginx负载均衡_nginx负载均衡配置实例

    什么是负载均衡? 负载均衡主要通过专门的硬件设备或者通过软件算法实现.通过硬件设备实现的负载均衡效果好.效率高.性能稳定,但是成本比较高.通过软件实现的负载均衡主要依赖于均衡算法的选择和程序的健壮性. ...

  9. Nginx+Tomcat负载均衡配置

     Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?下面然给我们详细来了解一下吧 Ng ...

最新文章

  1. JSP 自定义标签介绍
  2. web流程测试工具uirecorder
  3. 帆软报表(finereport) 动态报表
  4. Subversion 1.7 Eclipse integration in Ubuntu12(转载)
  5. jpeg6 安装问题!
  6. Oracle 估算数据库大小的方法
  7. MySQL等值连接的示例
  8. leetcode 213. 打家劫舍 II(dp)
  9. win7电脑浏览器证书过期的解决方法
  10. 收录批量查询神器 bluecattools
  11. android调用python模块 chaquo_小猿圈python学习-系统调用os模块
  12. struts validator 基本知识 之 【出现错误信息的条数】。
  13. 手机端与pc端页面html5,浅谈pc和移动端的响应式的使用
  14. 问题八:C++中this是干嘛用的
  15. chemdraw怎么画拐弯的箭头_教你画系列,像金属一样有复杂反光的漆皮材质
  16. SIM900A GPRS无线通信
  17. 基于python处理问卷数据并进行卡方分析全流程
  18. “Flash闪存”基础 及 “SD NAND Flash”产品的测试
  19. 手游客户端开发招聘要求
  20. 【车载以太网】【SOME/IP】规范标准

热门文章

  1. 猎豹移动回应被谷歌下架:积极整改情况下被单方面下架
  2. 超2亿学生集体上线 在线教育概念股齐飞
  3. AirPods 3换新外形啦!还增加了防水和主动降噪功能!
  4. 有钱就是任性!阿里20亿美元拿下网易考拉:欢迎加入阿里动物园
  5. 华为5G折叠屏手机Mate X 重新入网,即将上市!
  6. 李彦宏卸任百度投资管理有限公司董事 马东敏上任
  7. Linux显示中文【原创】
  8. 鼓励自己成为一名合格程序设计师
  9. python之禅怎么看_Python之禅
  10. MFC小笔记:父子窗口传递消息