关于阿里云:5-分钟读懂开源服务框架-Dubbo-及其最新规划

46次阅读

共计 2036 个字符,预计需要花费 6 分钟才能阅读完成。

Dubbo 简介

一句话定义

Apache Dubbo 是一款微服务开发框架,它帮忙解决微服务开发中的通信问题,同时为构建企业级微服务的提供服务治理能力,Dubbo 不绑定编程语言,咱们的指标是为所有支流语言提供对等的微服务开发体验。

根本架构

Dubbo 从架构图上分为数据面和管制面。在数据面,应用 Dubbo 开发的微服务过程间基于 RPC 协定通信。DubboAdmin 管制面作为服务治理的形象入口,由一系列可选的服务治理组件形成,负责 Dubbo 集群的服务发现、流量管控策略、可视化监测。

行业利用

Dubbo 设计用于解决阿里巴巴外部大规模 微服务集群实际难题,以后已被广泛应用于简直所有行业的微服务实际中。

以阿里巴巴为例,在 2021 年,阿里巴巴基于外部多年 HSF 框架实际积攒,面向云原生架构设计了下一代微服务框架 Dubbo3,用于解决性能、治理降级、服务网格等一系列问题;截止目前,阿里巴巴已全面完成从 HSF 到 Dubbo3 的迁徙,外围业务都跑在开源 Dubbo3 之上。

Dubbo 到底提供了哪些外围能力?

提供微服务形象与框架

首先,Dubbo 作为服务开发框架解决了业务利用中微服务定义、裸露、通信与治理的问题,为业务利用开发定义了一套微服务编程范式。

具体来说,Dubbo 为业务利用提供了微服务开发 API、RPC 协定、服务治理三大外围能力,让开发者真正的专一业务逻辑开发。

Dubbo 不是利用框架的替代者,它能够很好的工作在每种语言的支流编程框架之上,以 Java 为例,Dubbo 能够很好的与 Spring 合作,并在此基础上提供服务定义、微服务编程、服务发现、负载平衡、流量管控等能力。

提供灵便的通信协议切换能力

在通信方面,Dubbo 区别于其余 RPC 框架的是它不绑定特定协定,你能够在底层选用 HTTP./2、TCP、gRPC、REST、Hessian 等任意通信协议,同时享受对立的 API、以及对等的服务治理能力。

所有皆可扩大

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

丰盛的生态

基于扩大能力 Dubbo 官网提供了丰盛的生态适配,涵盖了所有支流的开源微服务组件。

服务网格

对于服务网格架构,Dubbo 也能够轻松接入原生 Istio 体系;在数据面反对与 Envoy 部署的 Proxy 模式,也反对无 Envoy 的 Proxyless 模式,提供更灵便的数据面抉择。

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

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

第一步

应用官网脚手架疾速创立我的项目模板,只须要抉择依赖的版本、组件,点击“获取代码”即可。

第二步

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

开发 Dubbo 服务端,实现接口并实现业务逻辑编码,通过一条简略的注解配置实现服务公布。

开发 Dubbo 客户端,通过注解申明 Dubbo 服务,而后就能够发动近程办法调用了。

至此,开发工作实现。

第三步

进入部署环节,咱们抉择 Kubernetes 作为部署环境。

首先,通过一条命令装置 dubbo-admin 等服务治理组件,装置胜利之后,咱们查看部署状态。接下来,开始部署业务利用,随后查看确认直到利用曾经失常启动

而后,咱们就能够关上 Admin 控制台查看服务部署与调用状况了。这里是 Dubbo Admin 控制台的页面显示成果,能够看到方才启动的 Dubbo 服务部署状态;除此之外,Admin 还提供了更具体的流量监控监测,点击服务统计,可进入监控页面

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

第四步

进行流量管控。当利用曾经安稳运行后,进一步管制流量的拜访行为,包含实现金丝雀公布、全链路灰度、动静调整超时工夫、调整权重、按比例流量散发、参数路由等。控制台提供了可视化的流量治理规定操作入口,在这里能够间接下发流量规定。

以一个线上环境的灰度隔离示例,通过 Dubbo 流量管控机制,咱们能够给每个利用的一部分机器打上 gray 标签,接下来,对于入口为 gray 的流量,就能够管制确保它只在有 gray 标记的 Dubbo 实例内流转,实现了全链路的逻辑隔离成果,对于隔离多套开发环境、线上灰度测试等场景都十分有用。

对于同区域优先调用的场景,这里有两个利用做了多区域部署,紫色是杭州区域、蓝色是北京区域,部署在橙色区域的利用会优先拜访同区域的利用,以此升高拜访提早,蓝色区域部署的服务亦是如此。

当利用在同区域区域部署的实例不可用时,调用会主动跨区域切换到其余可用区,确保整体可用性。

总结

本文从 Dubbo 是什么、有哪些外围能力、如何应用 Dubbo 三个方面论述了 Dubbo 的定位,文中局部命令或展现用示例都在继续开发更新中,仅作展现阐明。

Dubbo 于上周上线了新版官网与文档,涵盖 Dubbo3 外围性能及个性。更多精彩资讯请拜访:https://dubbo.apache.org

正文完
 0