dubbo 初识

2023-12-17  本文已影响0人  Always_July

什么是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架构 整体架构

各层说明

调用链

调用链

参考资料

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

上一篇 下一篇

猜你喜欢

热点阅读