http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html

Dubbo简介

1. Dubbo:一个分布式、高性能、透明化的RPC服务框架

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

3. Dubbo架构图

  3.1 Provider :提供者,服务发布方.

  3.2 Consumer:消费者, 调用服务方

  3.3 Container:Dubbo容器.依赖于Spring容器.

  3.4 Registry: 注册中心.当Container启动时把所有可以提供的服务列表上Registry中进行注册.

    3.4.1 作用:告诉Consumer提供了什么服务和服务方在哪里.

  3.5 Monitor:监听器

  3.6 虚线都是异步访问,实线都是同步访问

  3.7 蓝色虚线:在启动时完成的功能

  3.8 红色虚线(实线)都是程序运行过程中执行的功能

  3.9 所有的角色都是可以在单独的服务器上.所以必须遵守特定的协议.

4、运行原理

4.0 启动容器,相当于在启动Dubbo的Provider

4.1 启动后会去注册中心进行注册.注册所有可以提供的服务列表

4.2 在Consumer启动后会去Registry中获取服务列表和Provider的地址.进行订阅.

4.3 当Provider有修改后,注册中心会把消息推送给Consummer

4.3.1 使用了观察者设计模式(又叫发布/订阅设计模式)

4.4 根据获取到的Provider地址,真实调用Provider中功能.

  4.4.1 在Consumer方使用了代理设计模式.创建一个Provider方类的一个代理对象.通过代理对象获取Provider中真实功能,起到保护Provider真实功能的作用.

4.5 Consumer和Provider每隔1分钟向Monitor发送统计信息,统计信息包含,访问次数,频率等

dubbo入门学习 三 dubbo简介的更多相关文章

  1. dubbo入门学习(三)-----dubbo整合springboot

    springboot节省了大量的精力去配置各种bean,因此通过一个简单的demo来整合springboot与dubbo 一.创建boot-user-service-provider 本篇博文基于上篇 ...

  2. dubbo入门学习(二)-----dubbo hello world

    一.dubbo hello world入门示例 1.提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在需要创建两个服务模块进行测试: 模块 功能 订单服务web模块 创 ...

  3. dubbo入门学习(六)-----dubbo原理

    RPC原理 一次完整的RPC调用流程(同步调用,异步另说)如下: 1)服务消费方(client)调用以本地调用方式调用服务: 2)client stub接收到调用后负责将方法.参数等组装成能够进行网络 ...

  4. dubbo入门学习(五)-----dubbo的高可用

    zookeeper宕机与dubbo直连 现象 zookeeper注册中心宕机,还可以消费dubbo暴露的服务. 原因 健壮性 l 监控中心宕掉不影响使用,只是丢失部分采样数据 l 数据库宕掉后,注册中 ...

  5. dubbo入门学习(四)-----dubbo配置

    配置来源 首先,从Dubbo支持的配置来源说起,默认有四种配置来源: JVM System Properties,-D参数 Externalized Configuration,外部化配置 Servi ...

  6. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  7. SCARA——OpenGL入门学习三

    OpenGL入门学习[三] 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用 ...

  8. dubbo入门学习笔记之环境准备

    粗略的学完springcloud后由于公司的项目有用到一点dubbo,刚好手头上又有dubbo的学习资料,于是趁机相对系统的学了下duboo框架,今天开始记录下我的所学所悟;说来惭愧,今年之前,作为一 ...

  9. dubbo入门学习(一)-----分布式基础理论、架构发展以及rpc、dubbo核心概念

    一.分布式基础理论 1.什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed ...

随机推荐

  1. 剑指offer——包含min函数的栈

    题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度为O(1)) 该题是自己第一次采用编程的方式来实现Java中栈的功能,故直接借鉴了大牛的代码 import ...

  2. python安装与pip操作

    python安装 1, 下载并解压Python-3.6.2.tar.xz 2,tar xvJf Python-3.6.2.tar.xz 2./configure --prefix=/usr/local ...

  3. CPU TFLOPS 计算

    CPU TFLOPS 计算 姚伟峰 yaoweifeng0301@126.com] http://www.cnblogs.com/Matrix_Yao/ 深度学习任务是一个计算密集型任务,所以很关注计 ...

  4. lucene复合条件查询案例——查询name域 或 description域 包含lucene关键字的两种方式

    方式一:使用语法表达式查询 //查询name域 或 description域包含lucene关键字 QueryParser queryParser = new QueryParser("na ...

  5. Taro开发之城市选择器(带坐标)

    要写个城市选择器能返回对应的城市(这里只定义到了地级市),同时返回坐标系,参考了网上资料,下面就看看具体代码吧 import Taro, { Component } from '@tarojs/tar ...

  6. [ts] Property 'aaa' does not exist on type 'Window' 解决办法

    第一种: (window as any).aaa 第二种: declare global { interface Window { aaa: any; } } window.aaa = window. ...

  7. linux 下导出oracle数据库

    #变更用户su - oracle <<EOF#添加用户名/密码,目标文件地址和文件名 ,保存记录日志地址/文件名  full=y表示数据库全部导出,默认导出连接数据库的用户数据库对象 ex ...

  8. HATEOAS

    HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心.它的重要性在于打破 ...

  9. 既然还看不到未来之光,那就从骄阳开始的地方--IT携行

    对于还没真正踏入IT的小白菜来说,哪有资格把刚学到的鸡毛蒜皮儿,三脚猫都不算的东西逮出来献丑,献丑都不算,还不如我们来谈谈人生,练练脸皮...... 我出发的起点肯定不同,多方限制,可能缺乏时光;那正 ...

  10. Polar Code(1)关于Polar Code

    Polar Codes于2008年由土耳其毕尔肯大学Erdal Arikan教授首次提出,Polar Codes提出后各通信巨头都进行了研究.2016年11月18日(美国时间2016年11月17日), ...