服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

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

日期: 来源:阿里巴巴中间件收集编辑:Dubbo 社区

Dubbo 简介







Aliware


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

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

行业应用
Dubbo 设计用于解决阿里巴巴内部大规模 微服务集群实践难题,当前已被广泛应用于几乎所有行业的微服务实践中。
以阿里巴巴为例,在 2021 年,阿里巴巴基于内部多年 HSF 框架实践积累,面向云原生架构设计了下一代微服务框架 Dubbo3,用于解决性能、治理升级、服务网格等一系列问题;截止目前,阿里巴巴已全面完成从 HSF 到 Dubbo3 的迁移,核心业务都跑在开源 Dubbo3 之上。

Dubbo 到底提供了哪些核心能力?







Aliware


提供微服务抽象与框架

首先,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步







Aliware

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


第一步
使用官方脚手架快速创建项目模板,只需要选择依赖的版本、组件,点击 “获取代码” 即可。

第二步
将模板项目导入 IDE 开发环境。
定义 Java 接口作为 Dubbo 服务。
开发 Dubbo 服务端,实现接口并完成业务逻辑编码,通过一条简单的注解配置完成服务发布。
开发Dubbo 客户端,通过注解声明 Dubbo 服务,然后就可以发起远程方法调用了。
至此,开发工作完成。

第三步
进入部署环节,我们选择 Kubernetes 作为部署环境。
首先,通过一条命令安装 dubbo-admin 等服务治理组件,安装成功之后,我们查看部署状态。接下来,开始部署业务应用,随后查看确认直到应用已经正常启动
然后,我们就可以打开 Admin 控制台查看服务部署与调用情况了。这里是 Dubbo Admin 控制台的页面显示效果,可以看到刚才启动的 Dubbo 服务部署状态;除此之外,Admin 还提供了更详细的流量监控监测,点击服务统计,可进入监控页面
你可以在此了解Dubbo 集群的详细运行状态,包括每个应用对外服务和调用服务的情况,QpS、成功率等,还可以查看每个实例的资源健康状况。

第四步
进行流量管控。当应用已经平稳运行后,进一步控制流量的访问行为,包括实现金丝雀发布、全链路灰度、动态调整超时时间、调整权重、按比例流量分发、参数路由等。控制台提供了可视化的流量治理规则操作入口,在这里可以直接下发流量规则。
以一个线上环境的灰度隔离示例,通过 Dubbo 流量管控机制,我们可以给每个应用的一部分机器打上 gray 标签,接下来,对于入口为 gray 的流量,就可以控制确保它只在有 gray 标记的 Dubbo 实例内流转,实现了全链路的逻辑隔离效果,对于隔离多套开发环境、线上灰度测试等场景都非常有用。
对于同区域优先调用的场景,这里有两个应用做了多区域部署,紫色是杭州区域、蓝色是北京区域,部署在橙色区域的应用会优先访问同区域的应用,以此降低访问延迟,蓝色区域部署的服务亦是如此。
当应用在同区域区域部署的实例不可用时,调用会自动跨区域切换到其他可用区,确保整体可用性。

总结







Aliware

本文从 Dubbo 是什么、有哪些核心能力、如何使用 Dubbo 三个方面阐述了 Dubbo 的定位,文中部分命令或展示用示例都在持续开发更新中,仅作展示说明。

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

相关阅读

  • 【资讯】2023上海卫生人才春季招聘会即将举办

  • ↑↑↑ 更多就业信息,点击蓝字关注 ↑↑↑为全面贯彻落实党的二十大精神,进一步推进卫生健康事业高质量发展,优化本市卫生健康人才队伍结构,满足医疗卫生机构对卫生专业技术人才
  • 【招聘】兵团奎屯中医院2023年招聘简章

  • ↑↑↑ 更多就业信息,点击蓝字关注 ↑↑↑兵团奎屯中医院,全称新疆生产建设兵团奎屯中医院。医院始建于2002年,位于素有“西部明珠”之称的新疆奎屯市中心地区,2016年12月经兵团
  • 为什么用 10 年时间来磨砺这个方向?

  • 大家好,我是子木我一直在从事 SaaS 软件行业,并一直研究付费软件。现在我刚刚 30 岁,预计还有 10 年时间来磨砺这个方向。记得 2 月左右,我开始在知识星球上写相关笔记,内容包括
  • (限时删)设计圈疯传!请低调使用!

  • “好想挣钱啊...…”单位难开工,生意不开张,咱们才惊醒:“领死工资的生活,真的好脆弱。”平时总是说做副业做兼职可以赚钱,但也就说说而已。副业在哪?兼职在哪?钱在哪?都没影!现实是

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 免费!潍坊开通多条便民直通车

  • 灵山仙庄2023年清明节期间免费祭扫直通车2023年清明节,灵山仙庄将开通免费便民直通车,请市民注意乘车路线,自驾车市民合理安排祭祀路线,错峰祭扫。一、乘车时间:2023年4月1日、4
  • 5 分钟读懂开源服务框架 Dubbo 及其最新规划

  • Dubbo 简介Aliware一句话定义Apache Dubbo 是一款微服务开发框架,它帮助解决微服务开发中的通信问题,同时为构建企业级微服务的提供服务治理能力,Dubbo 不绑定编程语言,我们的目
  • 预测!九大营销设计趋势发布

  • 2023年,好设计依旧层出不穷。为了全面、严谨地洞察「营销趋势」,我们从消费者视角、宏观领域热点来收集背景线索,覆盖设计、科技、营销、文化、社会等多领域;聚焦方向的洞察,借由