一文看懂 Dubbo 的集成与使用

作者 : 开心源码 本文共1063个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共242人阅读

前言

今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的升级,还加入了Apache孵化器。原价项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用。趁着编写教材的机会来进行学习下。而且目前Dubbo也出了springboot的starter项目了,借着SpringBoot的东风,集成起来很方便,基本上就一个依赖包引入的问题了。废话不多说,开始吧~

一点知识

对于没有接触过Dubbo的同学,可以先理解下相关知识。

Dubbo简介

Dubbo 是阿里巴巴公司一个开源的高性能服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,使得应用可通过高性能 RPC 实现服务的输出、输入功能和 Spring 框架无缝集成。Dubbo 包含远程通讯、集群容错和自动发现三个核心部分。

它提供透明化的远程方法调用,实现像调用本地方法一样调用远程方法,只要简单配置,没有任何 API 侵入。同时它具有软负载均衡及容错机制,可在内网替代 F5 等硬件负载均衡器,降低成本,减少单点。它可以实现服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的 IP 地址,并且能够平滑增加或者删除服务提供者。

2011 年末,阿里巴巴在 GitHub 上开源了基于 Java 的分布式服务治理框架 Dubbo,之后它成为了国内该类开源项目的佼佼者,许多开发者对其表示青睐。同时,先后有不少公司在实践中基于 Dubbo 进行分布式系统架构。目前在 GitHub 上,它的 fork、star 数均已破万。

Dubbo核心功能:

  • 远程通讯,提供对多种基于长连接的 NIO 框架笼统封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
  • 集群容错,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
  • 自动发现,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑添加或者减少机器。

Dubbo架构

  1. 服务提供者 – 启动时在指定端口上暴露服务,并将服务地址和端口注册到注册中心上
  2. 服务消费者 – 启动时向注册中心订阅自己感兴趣的服务,以便取得服务提供方的地址列表
  3. 注册中心 – 负责服务的注册和发现,负责保存服务提供方上报的地址信息,并向服务消费方推送
  4. 监控中心 – 负责收集服务提供方和消费方的运行状态,比方服务调用次数、推迟等,用于监控
  5. 运行容器 – 负责服务提供方的初始化、加载以及运行的生命周期管理
一文看懂 Dubbo 的集成与使用

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一文看懂 Dubbo 的集成与使用

发表回复