zoukankan      html  css  js  c++  java
  • 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 发送统计信息,统计信息包含访问次数、频率等
  • 相关阅读:
    spring源码阅读(一)
    多线程学习(十)
    多线程学习(九)
    多线程学习(八)
    多线程学习(七)
    多线程学习(六)
    多线程学习(五)
    多线程学习(四)
    matlab-table
    Matlab
  • 原文地址:https://www.cnblogs.com/myitnews/p/11479624.html
Copyright © 2011-2022 走看看