美文网首页
dubbo 初识

dubbo 初识

作者: Always_July | 来源:发表于2023-12-17 16:56 被阅读0次

什么是dubbo?

首先我们看看官网dubbo对自己的介绍,Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题。这里引入了其他几个关键词,RPC,微服务架构。

RPC

remote producer call (远程过程调用)
是一个计算机通信。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)

微服务架构

是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序。

dubbo 产生的背景?

随着业务的增长,单体架构出现了如下的问题。

  1. 可靠性差。单个模块发生OOM,死循环 异常导致整个服务无法使用。
  2. 扩展能力受限。单体只能整体扩展,无法针对某些模块按需扩展,例如IO密集型,CPU密集型。
  3. 部署频率低。代码太多,构建和部署的时间增加。
  4. 技术单一。单体架构往往使用统一的技术平台或方案解决所有问题。要向引入新框架或新技术会非常苦难。

解决单体架构的方法就是微服务架构,微服务架构又带来了许多新的问题。

  1. 服务之间如何通信。
  2. 调用服务如何负载均衡,容错。
  3. 服务上线和下线如何被调用方感知。

dubbo 就是解决这些问题的一套框架。

dubbo架构

Dubbo架构 整体架构

各层说明

  • config 配置层:对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接初始化配置类,也可以通过 spring 解析配置生成配置类
  • proxy 服务代理层:服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton, 以 ServiceProxy 为中心,扩展接口为 ProxyFactory
  • registry 注册中心层:封装服务地址的注册与发现,以服务 URL 为中心,扩展接口为 RegistryFactory, Registry, RegistryService
  • cluster 路由层:封装多个提供者的路由及负载均衡,并桥接注册中心,以 Invoker 为中心,扩展接口为 Cluster, Directory, Router, LoadBalance
  • monitor 监控层:RPC 调用次数和调用时间监控,以 Statistics 为中心,扩展接口为 MonitorFactory, Monitor, MonitorService
    protocol 远程调用层:封装 RPC 调用,以 Invocation, Result 为中心,扩展接口为 Protocol, Invoker, Exporter
  • exchange 信息交换层:封装请求响应模式,同步转异步,以 Request, Response 为中心,扩展接口为 Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer
  • transport 网络传输层:抽象 mina 和 netty 为统一接口,以 Message 为中心,扩展接口为 Channel, Transporter, Client, Server, Codec
  • serialize 数据序列化层:可复用的一些工具,扩展接口为 Serialization, ObjectInput, ObjectOutput, ThreadPool

调用链

调用链

参考资料

背景 _ Apache Dubbo 2.X
Dubbo 介绍 _ Apache Dubbo
框架设计 _ Apache Dubbo

相关文章

  • Dubbo-初识

    话说,第一见dubbo是一年前公司第三代技术选型会上。公司架构师在会上对dubbo和spring cloud做了一...

  • Dubbo学习笔记(一) 初识

    1. 引子 为什么突然想起来要学Dubbo呢,原因有下: 之前有人问什么是SPI,以前学习嵌入式的时候,听过硬件上...

  • Dubbo学习笔记(一) 初识

    1. 引子 为什么突然想起来要学Dubbo呢,原因有下: 之前有人问什么是SPI,以前学习嵌入式的时候,听过硬件上...

  • 1.初识Dubbo架构

    架构 节点角色说明 节点角色说明 Provider暴露服务的服务提供方 Consumer调用远程服务的服务消费方 ...

  • DUBBO-POSTMAN(dubbo接口测试,dubbo场景测

    DUBBO-POSTMAN(dubbo接口测试,dubbo场景测试,dubbo集成测试) DUBBO-POSTMA...

  • dubbo记录

    目录 《dubbo入门》《dubbo管理控制台》《dubbo超时重传》《dubbo直连》《dubbo实现服务降级》...

  • springboot+Spring Cloud-hystrix整

    Dubbo入门案例(一)Dubbo入门案例(二)Dubbo入门案例(三)Dubbo入门案例(四)Dubbo入门案例...

  • dubbo服务降级(五)

    Dubbo入门案例(一)Dubbo入门案例(二)Dubbo入门案例(三)Dubbo入门案例(四)Dubbo入门案例...

  • dubbo集群实现负载均衡配置(四)

    Dubbo入门案例(一)Dubbo入门案例(二)Dubbo入门案例(三)Dubbo入门案例(四)Dubbo入门案例...

  • Dubbo使用@Transactional,服务发布不成功(二)

    Dubbo入门案例(一)Dubbo入门案例(二)Dubbo入门案例(三)Dubbo入门案例(四)Dubbo入门案例...

网友评论

      本文标题:dubbo 初识

      本文链接:https://www.haomeiwen.com/subject/oxsogdtx.html