Dubbo介绍(一)

Dubbo是一个分布式、高性能、透明化的 RPC 服务框架,作用是提供服务自动注册、自动发现等高效服务治理方案。

一、Dubbo架构图

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

二、Dubbo运行原理

  • 启动容器,相当于在启动 Dubbo 的 Provider
  • 启动后会去注册中心进行注册,注册所有可以提供的服务列表
  • 在 Consumer 启动后会去 Registry 中获取服务列表和 Provider的地址,并进行订阅
  • 当 Provider 有修改后,注册中心会把消息推送给 Consummer
    • 使用了观察者设计模式(又叫发布/订阅设计模式)
  • 根据获取到的 Provider 地址,真实调用 Provider 中功能
    • 在 Consumer 方使用了代理设计模式,创建一个 Provider方类的一个代理对象。通过代理对象获取 Provider 中真实功能,起到保护 Provider 真实功能的作用
  • Consumer 和 Provider 每隔 1 分钟向 Monitor 发送统计信息,统计信息包含访问次数、频率等
原文地址:https://www.cnblogs.com/myitnews/p/11479624.html