Dubbo 简介

一句话定义

Apache Dubbo 是一款微服务开发结构,它协助处理微服务开发中的通讯问题,同时为构建企业级微服务的供给服务管理才能,Dubbo 不绑定编程言语,咱们的方针是为一切干流言语供给对等的微服务开发体验。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

根本架构

5 分钟读懂开源服务框架 Dubbo 及其最新规划

Dubbo 从架构图上分为数据面和操控面。在数据面,运用 Dubbo 开发的微服务进程间基于 RPC 协议通讯。DubboAdmin 操控面作为服务管理的笼统入口,由一系列可选的服务管理组件构成,担任 Dubbo 集群的服务发现、流量管控策略、可视化监测。

职业运用

Dubbo 规划用于处理阿里巴巴内部大规模 微服务集群实践难题,当时已被广泛运用于简直一切职业的微服务实践中。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

以阿里巴巴为例,在 2021 年,阿里巴巴基于内部多年 HSF 结构实践堆集,面向云原生架构规划了下一代微服务结构 Dubbo3,用于处理功能、管理升级、服务网格等一系列问题;截止现在,阿里巴巴已全面完结从 HSF 到 Dubbo3 的迁移,中心事务都跑在开源 Dubbo3 之上。

Dubbo 到底供给了哪些中心才能?

供给微服务笼统与结构

5 分钟读懂开源服务框架 Dubbo 及其最新规划

首先,Dubbo 作为服务开发结构处理了事务运用中微服务定义、暴露、通讯与管理的问题,为事务运用开发定义了一套微服务编程范式

具体来说,Dubbo 为事务运用供给了微服务开发API、RPC 协议、服务管理三大中心才能,让开发者真实的专心事务逻辑开发。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

Dubbo 不是运用结构的替代者,它能够很好的作业在每种言语的干流编程结构之上,以 Java 为例,Dubbo 能够很好的与 Spring 协作,并在此基础上供给服务定义、微服务编程、服务发现、负载均衡、流量管控等才能。

供给灵敏的通讯协议切换才能

5 分钟读懂开源服务框架 Dubbo 及其最新规划

在通讯方面,Dubbo 区别于其他 RPC 结构的是它不绑定特定协议,你能够在底层选用 HTTP./2、TCP、gRPC、REST、Hessian 等任意通讯协议,同时享受一致的 API、以及对等的服务管理才能。

全部皆可扩展

5 分钟读懂开源服务框架 Dubbo 及其最新规划

Dubbo 的另一个优势在于其可扩展性规划,从流量管控、协议编码、诊断调优、再到服务管理,你都能够去扩展,满足企业级微服务开发与运维的一切诉求。

丰厚的生态

5 分钟读懂开源服务框架 Dubbo 及其最新规划

基于扩展才能 Dubbo 官方供给了丰厚的生态适配,包括了一切干流的开源微服务组件。

服务网格

5 分钟读懂开源服务框架 Dubbo 及其最新规划

关于服务网格架构,Dubbo也能够轻松接入原生 Istio 系统;在数据面支撑与 Envoy 布置的 Proxy 形式,也支撑无 Envoy 的 Proxyless 形式,供给更灵敏的数据面挑选。

构建企业级 Dubbo 微服务有多简略?你只需要4步

咱们以 Java 微服务开发为例。

第一步

5 分钟读懂开源服务框架 Dubbo 及其最新规划

运用官方脚手架快速创立项目模板,只需要挑选依靠的版本、组件,点击 “获取代码” 即可。

第二步

将模板项目导入 IDE 开发环境。定义 Java 接口作为 Dubbo 服务。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

开发 Dubbo 服务端,完成接口并完结事务逻辑编码,经过一条简略的注解装备完结服务发布。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

开发Dubbo 客户端,经过注解声明 Dubbo 服务,然后就能够建议远程方法调用了。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

至此,开发作业完结。

第三步

进入布置环节,咱们挑选 Kubernetes 作为布置环境。

首先,经过一条指令装置 dubbo-admin 等服务管理组件,装置成功之后,咱们检查布置状况。接下来,开端布置事务运用,随后检查承认直到运用现已正常启动

5 分钟读懂开源服务框架 Dubbo 及其最新规划

然后,咱们就能够打开 Admin 操控台检查服务布置与调用状况了。这里是 Dubbo Admin 操控台的页面显示作用,能够看到方才启动的 Dubbo 服务布置状况;除此之外,Admin 还供给了更具体的流量监控监测,点击服务计算,可进入监控页面

5 分钟读懂开源服务框架 Dubbo 及其最新规划

你能够在此了解Dubbo 集群的具体运转状况,包含每个运用对外服务和调用服务的状况,QpS、成功率等,还能够检查每个实例的资源健康状况。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

5 分钟读懂开源服务框架 Dubbo 及其最新规划

第四步

进行流量管控。当运用现已平稳运转后,进一步操控流量的拜访行为,包含完成金丝雀发布、全链路灰度、动态调整超时时刻、调整权重、按比例流量分发、参数路由等。操控台供给了可视化的流量管理规则操作入口,在这里能够直接下发流量规则。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

以一个线上环境的灰度隔离示例,经过 Dubbo 流量管控机制,咱们能够给每个运用的一部分机器打上 gray 标签,接下来,关于入口为 gray 的流量,就能够操控保证它只在有 gray 符号的 Dubbo 实例内流通,完成了全链路的逻辑隔离作用,关于隔离多套开发环境、线上灰度测试等场景都非常有用。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

关于同区域优先调用的场景,这里有两个运用做了多区域布置,紫色是杭州区域、蓝色是北京区域,布置在橙色区域的运用会优先拜访同区域的运用,以此降低拜访推迟,蓝色区域布置的服务亦是如此。

5 分钟读懂开源服务框架 Dubbo 及其最新规划

当运用在同区域区域布置的实例不可用时,调用会自动跨区域切换到其他可用区,保证整体可用性。

总结

本文从 Dubbo 是什么、有哪些中心才能、怎么运用 Dubbo 三个方面阐述了 Dubbo 的定位,文中部分指令或展现用示例都在继续开发更新中,仅作展现说明。

Dubbo 于上星期上线了新版官网与文档,包括 Dubbo3 中心功能及特性。更多精彩资讯请拜访:dubbo.apache.org