Dubbo基础二之架构及处理流程概述
Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中体验了Dubbo的使用,对于消费端对服务提供者的调用非常清晰明确。那么Dubbo是如何做到的呢?下面对Dubbo的架构及处理流程做简单概述。
Apache Dubbo是一款高性能的Java RPC框架,其前身是阿里巴巴公司开源的一个高性能、轻量级的开源RPC框架;提供服务自动注册、自动发现等高效率服务治理方法,可以与Spring框架无缝集成。其特性等具体可参考官网文档https://dubbo.apache.org/zh/docs/。
Dubbo基于消费端的自动服务发现能力,其实现原理或处理流程可参考下图:
节点说明:
调用关系说明:1)虚线代表异步调用,实线代表同步访问
2)紫色虚线是在启动时完成的功能
3)蓝色虚线是程序运行中执行的功能
调用流程:
1)服务提供者在服务容器启动时想注册中心注册自己提供的服务
2)服务消费者在启动时想注册中心订阅自己所需的服务
3)注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心会基于长链接推送变更数据给消费者
4)服务消费者从提供者地址列表中基于软负载均衡算法选一趟提供者进行调用,如果调用失败则重新选择一台
5)服务提供者和消费者在内存中的调用次数和调用事件定时每分钟发送给监控中心
分类:
分布式及微服务 / Dubbo
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?