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

Dubbo简介

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

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

3. Dubbo架构图

dubbo入门学习 三 dubbo简介-LMLPHP

  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发送统计信息,统计信息包含,访问次数,频率等

04-15 01:55