由于在微服务领域有两大框架统治,一个是springCloud的全家桶,一个是Dubbo。我用Dubbo比较少,所以也是学习状态。

第一章Dubbo简介

Apache Dubbo 是一款 RPC 微服务框架,提供了包括 Java、Golang 等在内的多种语言 SDK 实现。

其实最早在2017年的时候我就接触到了Dubbo这个框架,那时是阿里巴巴开发的,使软件系统引入了分层的架构,形成了分布式的系统。后来由阿里巴巴开源,捐给了apache。所以我们又需要多学一种架构。目前发展到了Dubbo3

Dubbo3框架主要特性

基于 HTTP/2 的 Triple 协议以及面向代理 API 的编程体验。

强大的流量治理能力,如地址发现、负载均衡、路由选址、动态配置等。

多语言 SDK 实现,涵盖 Java、Golang、Javascript 等,更多语言实现将会陆续发布。

灵活的适配与扩展能力,可轻松与微服务体系其他组件如 Tracing、Transaction 等适配。

Dubbo Mesh 解决方案,同时支持 Sidecar、Proxyless 等灵活的 Mesh 部署方案。

其中最显著的特性是它是一个RPC框架。

这个框架可以简化成两大角色, 服务端和客户端,中间通过自定义RPC协议传输数据。




dubbo微服务框架 dubbo是微服务框架吗_RPC


服务端就是即使一组组增删查改的API

客户端是一个包含通信协议的钩子。

和springCloud一样,Dubbo的服务也需要一些组件的支持,比如服务注册中心,配置中心,元数据中心。

能流行的原因:

开箱即用

易用性高,如 Java 版本的面向接口代理特性能实现本地透明调用

功能丰富,基于原生库或轻量扩展即可实现绝大多数的微服务治理能力

面向超大规模微服务集群设计

极致性能,高性能的 RPC 通信协议设计与实现

横向可扩展,轻松支持百万规模集群实例的地址发现与流量治理

高度可扩展

调用过程中对流量及协议的拦截扩展,如 Filter、Router、LB 等

微服务治理组件扩展,如 Registry、Config Center、Metadata Center 等

企业级微服务治理能力

国内公有云厂商支持的事实标准服务框架。