Dubbo学习目录

Dubbo学习目录

作用:提供服务自动注册,自动发现等高效服务治理方案

Dubbo架构图

  1. Provider:提供者,服务发布方
  2. Consumer:消费者,调用服务方
  3. Container:Dubbo容器,依赖于Spring容器
  4. Registry:注册中心,当Container启动时,把所有可以提供的服务列表上Registry中进行注册
  5. Monitor:监听器
  6. 虚线都是异步访问,实线都是同步访问
  7. 蓝色虚线:都是在启动的时候完成的功能
  8. 红色虚线(实线):都是运行过程中执行的功能
  9. 所有的角色都是可以在单独的服务器上,所以必须遵守特定的协议
    作用:告诉Consumer提供了什么服务和服务方在哪里

运行原理

(1)启动容器,相当于在启动Dubbo的Provider
(2)启动后回曲注册中心进行注册,注册所有可以提供的服务列表
(3)在Consumer启动后会去Registry中获取服务列表和Provider的地址,进行丁云
(4)当Provider有修改后,注册中心会把消息推送给Consummer,使用了观察者设计模

(5)根据获取到的Provider地址,真实调用Provider中的功能,在consummer方使用了代理设计模式,创建了一个Provider方类的一个代理对象。通过代理对象获取Provider中的真实功能,起到保护Provider真实功能的作用。
(6)Consumer和Provider每隔一分钟会向Monitor发送统计信息,统计信息包括访问次数,频率等。

Dubbo注册中心

  1. Zookeeper:
  • 优点:支持网络集群
  • 缺点:稳定性受限于zookeeper
  1. redis注册中心:
  • 优点:性能高(内存型数据库)
  • 缺点:对服务器的环境要求较高
  1. Multicast:
  • 优点:面中心化,不需要额外安装注册中心
  • 缺点:建议同机房(局域网)内使用
  1. Simple:
  • 适用于测试环境,不支持集群

Zookeeper:分布式协调组件,本质上是一个软件

常用功能:

  • 发布订阅功能,把zookeeper当作注册中心的原因
  • 分布式/集群管理功能
  • 使用Java语言编写

Dubbo支持的协议

1.Dubbo

  • Dubbo官方推荐的协议.
  • 本质:使用NIO和线程池进行处理.
  • 缺点:大文件传输时可能出现文件传输失败问题.
    2.RMI
  • JDK提供的协议,远程方法调用协议.
  • 缺点:偶尔连接失败.
  • 优点:JDK原生,不需要进行额外配置(导入jar)
    3.Hession
  • 优点:基于http协议,http请求支持.
  • 缺点:需要额外导入jar,并在短连接时性能低

Dubbo的原理和机制(详解)相关推荐

  1. Dubbo 原理和机制详解

    Dubbo 是一款Java RPC框架,致力于提供高性能的 RPC 远程服务调用方案.作为主流的微服务框架之一,Dubbo 为开发人员带来了非常多的便利. 1. Dubbo核心功能 Dubbo主要提供 ...

  2. Dubbo原理和机制详解(非常全面)

    Dubbo是一款Java RPC框架,致力于提供高性能的RPC远程服务调用方案.Dubbo 作为主流的微服务框架之一,为开发人员带来了非常多的便利. 本文我们重点详解 Dubbo 的原理机制 @mik ...

  3. Redis原理和机制详解

    什么是Redis? Redis 是开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库. Redis特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候 ...

  4. 深入理解mybatis原理, Mybatis初始化SqlSessionFactory机制详解(转)

    文章转自http://blog.csdn.net/l454822901/article/details/51829785 对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章 ...

  5. PHP autoload机制详解

    PHP autoload机制详解 转载自 jeakccc PHP autoload机制详解 (1) autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个 ...

  6. JAVA之JVM垃圾回收(GC)机制详解

    一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收.除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此.所以,垃圾回收是必须的. 二. ...

  7. Java垃圾回收(GC)机制详解

    Java垃圾回收(GC)机制详解 转自:https://www.cnblogs.com/xiaoxi/p/6486852.html 一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因 ...

  8. Hadoop之Shuffle机制详解

    Hadoop之Shuffle机制详解 目录 Shuffle机制 Partition分区 WritableComparable排序 Combiner合并 GroupingComparator分组(辅助排 ...

  9. SSL / TLS 协议运行机制详解

    转载自  SSL / TLS 协议运行机制详解 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想 ...

  10. 史上最强Dubbo面试28题答案详解:核心功能+服务治理+架构设计等

    1.Dubbo是什么? Dubbo 是一个分布式.高性能.透明化的 RPC 服务框架,提供服务自动注册.自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成. RPC 指的是远程调用协议, ...

最新文章

  1. 安卓java代码标签_Android实现动态添加标签及其点击事件
  2. MindMotion MM32 单片机上的MicroPython移植-PWM
  3. SQL Server中的事务与锁
  4. Jsp (Java Server Pages)相关知识九大内置对象和四大作用域
  5. BCB中的RTTI机制
  6. java代码顺序执行命令_将小程序安装到Java卡的APDU命令的顺序是什么?
  7. windows下手动安装pyinstaller(python2.7)
  8. 利用@factory和@dataProvider实现参数化
  9. sql交叉表查询_初学前端需要注意什么 SQL连接相关内容有哪些
  10. IGH_Master主站配置驱动伺服电机和变频器总结
  11. jsmind-网页版的由js实现的思维导图
  12. 微信小程序样式-id选择器的使用教程
  13. 制作外挂需要多高的编程技术?
  14. java 红外光谱数据库_【分享】免费的20个谱图数据库 - 晶体 - 小木虫 - 学术 科研 互动社区...
  15. 详解Oracle架构、原理、进程,学会世间再无复杂架构
  16. rvm的安装, 使用rvm, 安装ruby, 以及gem的使用
  17. mac打开chm文件
  18. ASP.Repeater控件使用
  19. 联想拯救者R720如何组建双通道内存
  20. openwrt 上网记录_折腾OpenWRT小记

热门文章

  1. linux抓包tcpdump并保存,linux下抓包命令--tcpdump的使用
  2. 两周年-我的创作纪念日
  3. Java Web开发框架对比
  4. 去养猪场做算法工程师吗?一个月两万那种
  5. 网易射击手游堡垒前线明日上线:创造加吃鸡模式你喜欢吗?
  6. 工业自动化数据采集远程监控系统解决方案
  7. JavaScript多媒体事件
  8. 简单的springboot项目测试数据源是否连接成功
  9. 为什么 netstat 对某些服务只显示了 tcp6 监听端口
  10. 小米和MAC触摸板手势汇总