1 Dubbo架构概述

1.1 什么是Dubbo

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源java RPC框架,可以和Spring框架无缝集成。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡以及服务自动注册和发现

1.2 Dubbo的特性

参考官网首页 特性一览

1.3 Dubbo的服务治理

服务治理(SOA governance),企业为了确保项目顺利完成而实施的过程,包括最佳实践、架构原
则、治理规程、规律以及其他决定性的因素。服务治理指的是用来管理SOA的采用和实现的过程。
参考官网 服务治理

2 Dubbo处理流程

image.png

节点 角色
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器 负责启动 加载 运行服务提供者

2.1 调用关系说明:

虚线 代表异步调用 实线代表同步访问
蓝色虚线 是在启动时完成的功能
红色虚线 是程序运行中执行的功能
服务提供者在服务容器启动时 向注册中心 注册自己提供的服务
服务消费者在启动时 向注册中心订阅自己所需的服务
注册中心返回服务提供者地址列表给消费者 如果有变更 注册中心会基于长连接推送变更数据给消费者
服务消费者 从提供者地址列表中 基于软负载均衡算法 选一台提供者进行调用 如果调用失败 则重新选择一台服务提供者和消费者 在内存中的调用次数 和 调用时间 定时每分钟发送给监控中心

3 扩展阅读

Dubbo入坑