`

dubbo框架设计

阅读更多

整理文档发现的内容,没有找到出处,如果大家发现出处,请留言,我这里注明。



 


   Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层。图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口, 位于中轴线上的为双方都用到的接口。


下面,结合Dubbo官方文档,我们分别理解一下框架分层架构中,各个层次的设计要点:

 

  1. 服务接口层(Service):该层是与实际业务逻辑相关的,根据服务提供方和服务消费方的业务设计对应的接口和实现
  2. 配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心,可以直接new配置类,也可以通过spring解析配置生成配置类。
  3. 服务代理层(Proxy):服务接口透明代理,生成服务的客户端Stub和服务器端Skeleton,以ServiceProxy为中心,扩展接口为ProxyFactory。
  4. 服务注册层(Registry):封装服务地址的注册与发现,以服务URL为中心,扩展接口为RegistryFactory、Registry和RegistryService。可能没有服务注册中心,此时服务提供方直接暴露服务。
  5. 集群层(Cluster):封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster、 Directory、Router和LoadBalance。将多个服务提供方组合为一个服务提供方,实现对服务消费方来透明,只需要与一个服务提供方进 行交互。
  6. 监控层(Monitor):RPC调用次数和调用时间监控,以Statistics为中心,扩展接口为MonitorFactory、Monitor和MonitorService。
  7. 远程调用层(Protocol):封将RPC调用,以Invocation和Result为中心,扩展接口为Protocol、Invoker和 Exporter。Protocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体 域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是 一个远程的实现,也可能一个集群实现。
  8. 信息交换层(Exchange):封装请求响应模式,同步转异步,以Request和Response为中心,扩展接口为Exchanger、ExchangeChannel、ExchangeClient和ExchangeServer。
  9. 网络传输层(Transport):抽象mina和netty为统一接口,以Message为中心,扩展接口为Channel、Transporter、Client、Server和Codec。
  10. 数据序列化层(Serialize):可复用的一些工具,扩展接口为Serialization、 ObjectInput、ObjectOutput和ThreadPool。

 

  • 大小: 405.9 KB
分享到:
评论

相关推荐

    Dubbo框架设计原则ppt

    【标题】"Dubbo框架设计原则ppt"与【描述】"dubbo框架设计Java并发ppt"揭示了本次讨论的核心——Dubbo框架的设计原则以及在Java并发环境中的应用。这两个主题对于理解和优化分布式服务架构至关重要。 首先,让我们...

    Dubbo框架设计原则.pdf

    ### Dubbo框架设计原则 #### 一、概述 Dubbo是一款高性能、轻量级的开源服务框架,旨在提供高可用的服务治理方案。本文件详细介绍了Dubbo的设计原则,特别是那些在设计过程中的经验和理论的应用。这些原则不仅仅...

    dubbo框架的代码

    【标题】"dubbo框架的代码" Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,它旨在提高微服务架构中的服务治理效率,促进服务间的通信和协同。Dubbo的核心特性包括服务发现、服务调用、负载均衡、...

    分布式dubbo框架项目解说

    分布式Dubbo框架是一种高性能的Java RPC框架,它基于微服务的设计理念,用于实现服务的注册与发现,以及服务之间的通信。在公司级项目中,分布式Dubbo框架常用于构建微服务架构,将大型的单一应用程序拆分为一组小的...

    Dubbo框架技术开发文档

    Dubbo框架的核心设计理念是“面向接口编程”,它通过接口定义服务,实现了服务提供者和服务消费者之间的解耦。框架主要包括服务注册中心、服务提供者、服务消费者、协议、序列化等组件。服务提供者暴露服务,服务...

    dubbo入门学习框架源码

    《Dubbo框架源码解析深度探索》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java世界中分布式服务的重要选择。本文将深入探讨Dubbo的核心概念、设计模式以及源码实现,旨在帮助读者理解...

    框架设计原则

    本文档主要介绍了在Dubbo框架设计过程中的实践经验以及一些设计理论的应用。 #### 二、Dubbo框架简介 Dubbo是一款高性能、轻量级的开源Java RPC框架,旨在构建服务化应用程序。它提供了完整的分布式应用解决方案,...

    基于Dubbo框架的分布式视频网站架构设计.pdf

    因此,为了满足这些业务需求,设计并使用Dubbo框架对视频网站进行架构,可以充分利用Dubbo框架的技术优势,如高并发处理、高效的数据传输、强大的服务治理能力等。 通过视频网站案例的实验结果表明,使用Dubbo框架...

    dubbo-admin-2.8.4.war

    Dubbo Admin 2.8.4 是一个针对 Dubbo 框架设计的管理控制台,主要用于监控和管理分布式服务。这个版本是专为懒人设计的,简化了部署流程,可以直接在 Tomcat 应用服务器上运行。其核心功能包括服务治理、调用链跟踪...

    Dubbo monitor监控程序

    Dubbo Monitor监控程序是针对Apache Dubbo框架设计的一款强大的服务治理工具,主要用于监控Dubbo服务的运行状态,包括Producer(生产者)和服务Consumer(消费者)的实时数据。它支持在Linux和Windows等不同操作系统...

    dubbo-admin-2.6.0

    Dubbo Admin 2.6.0 是一款专为Dubbo框架设计的管理与监控工具,其核心功能是帮助开发者和运维人员有效地管理和监控Dubbo服务。这个版本的发布,主要体现在一个名为 `dubbo-admin-2.6.0.war` 的Web应用文件上,它是...

    dubbo界面查看工具

    【Dubbo界面查看工具】是针对Apache Dubbo框架设计的一款可视化工具,它的主要功能是帮助开发者更好地监控和管理Dubbo服务。Dubbo是一款高性能、轻量级的Java远程服务调用框架,它提供了服务治理、容错机制、负载...

    dubbo2.00管理控制平台

    【标题】"dubbo2.00管理控制平台"是一个专为Dubbo框架设计的监控与管理工具,它简化了用户获取和部署的过程,避免了从官网下载源码并自行编译的繁琐步骤。这个控制台是Dubbo生态系统的重要组成部分,它提供了对服务...

    dubbo-admin2.5.4

    Dubbo Admin 2.5.4是一款专为Dubbo框架设计的管理控制台,它提供了可视化的界面,使得开发者和运维人员能够更加便捷地管理和监控基于Dubbo的服务。这个版本的亮点在于其war包形式,意味着它可以轻松地部署在任何支持...

    dubbo-admin

    【标题】"dubbo-admin" 是一款针对 Dubbo 框架设计的监控平台,它提供了全面的管理和监控服务,帮助开发者和运维人员实时了解分布式系统中的服务运行状况,从而提高系统的可维护性和稳定性。 【描述】"dubbo-admin ...

    DUBBO控制台

    DUBBO控制台是一款强大的监控工具,专为DUBBO框架设计,用于管理和监控DUBBO服务的生产者和消费者。DUBBO是阿里巴巴开源的一款高性能、轻量级的Java远程服务调用框架,它允许开发者将服务暴露和消费,实现服务之间的...

    dubbo admin

    【标题】"Dubbo Admin" 是一款专门为 Dubbo 框架设计的管理工具,它以war包的形式提供,通常部署在应用服务器如Tomcat上,用于监控和管理基于Dubbo的服务。 【描述】"dubbo-admin-war 控制台的管理工具" 提供了一个...

    dubbo-monitor-simple-2.5.3

    Dubbo Monitor Simple 2.5.3 是一款针对 Dubbo 框架设计的监控中心组件,主要用于收集、展示以及分析服务调用的相关数据,从而帮助开发者和运维人员实时监控服务的健康状态,及时发现并解决潜在问题。在分布式系统中...

Global site tag (gtag.js) - Google Analytics