掌握Dubbo:框架概况及基本工作流程

发布时间:2026/9/11 10:50:12
掌握Dubbo:框架概况及基本工作流程 在上一篇在上一篇Dubbo主题文章也是作者分享的第一篇Duboo文章介绍了SPI让大家提前掌握duboo中一个高频出现的技术。接下来我们要回归到基础和大家一起了解这个Duboo这个框架的概况和基本工作流程。一、Duboo概况Duboo是一个出现比较早的分布式框架比Spring cloud要早。它是由阿里巴巴研发出的一款开源的基于Java语言的RPC分布式服务框架主要目的是为了提升系统性能、提供透明化的RPC远程服务调用方案以及SOA服务治理方案。因其优秀的性能被国内很多大厂封装成自己的分布式服务框架的内核duboo在当中充当远程服务调用的核心模块。深入对duboo的使用大家可以了解到这个框架的核心主要有三部分1、远程通讯duboo是基于TCP长连接的通讯方式为用户提供多种NIO框架封装如netty和mina。同时线程模型和序列化方式也有多种选择。在追求代码API零入侵的前提下用户只需简单的配置就可以进行透明的远程方法调用就像调本地方法一样去调用远程方法。2、集群容错以接口为基础的透明远程调用方法为用户提供提供多种协议的支持、失败容错、地址路由和动态配置等集群支持功能在内网情况下可以实现软负载均衡减少建设成本以及单点问题。3、自动发现基于注册中心目录服务让服务的注册和发现更加灵活不需要再写死在相关的服务上面。而注册中心是基于接口名来查询服务提供者的IP地址可以动态添加和删除异常的服务提供者。二、Duboo基本工作流程了解了duboo的作用和核心功能后我们再继续去了解它的工作流程。1、架构duboo的基本架构如下图包含了5个节点角色它们之间的通讯包括三大类型初始化、同步通讯和异步通讯。我们可以顺着通讯的序号了解到整个框架由容器启动开始然后把服务提供者注册到注册中心服务调用者会订阅相关服务并获取到服务注册信息缓存到本地。在服务发生变化时注册中心会通知给服务调用方。2、节点角色和调用关系节点角色作用调用关系Container服务运行容器负责启动加载运行服务提供者Provider暴露服务的服务提供方在启动时向注册中心注册自己提供的服务Registry服务注册与发现的注册中心把服务提供者地址列表给消费者如果有变更注册中心将基于长连接推送变更数据给消费者Consumer调用远程服务的服务消费方从提供者地址列表中基于软负载均衡算法选一台提供者进行调用如果调用失败再选另一台调用Monitor统计服务的调用次数和调用时间的监控中心服务消费者和提供者在内存中累计调用次数和调用时间定时每分钟发送一次统计数据到监控中心3、节点连通要点a、服务提供者和消费者只在启动时与注册中心交互注册中心不转发请求。b、服务提供者和消费者对服务调用次数和时间的统计先在内存汇总然后每分钟一次发送到监控中心服务器并以报表展示。c、注册中心服务提供者服务消费者三者之间均为长连接d、注册中心和监控中心都是可选的服务消费者可以直连服务提供者以上就是作者为大家提供的duboo入门介绍进行了框架的概述以及架构中各个节点的作用和通信要点帮助大家对框架有个大致的认识。