Apache Dubbo是一款RPC服务开发框架,那何为RPC呢?全称为Remote Procedure Call,翻译过来就是远程过程调用。
使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。
阿里巴巴开发的云原生微服务架构框架,类似于springcloud,两者之间各有优势。那什么又是云原生?很早之前就已经提出了云原生的思想,在计算机领域中,思想重要,技术的变革,一定是思想先行。云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。
Dubbo开发相较于Springcloud具有一些优势:
开箱即用
易用性高,如 Java 版本的面向接口代理特性能实现本地透明调用
功能丰富,基于原生库或轻量扩展即可实现绝大多数的微服务治理能力
面向超大规模微服务集群设计
极致性能,高性能的 RPC 通信协议设计与实现
横向可扩展,轻松支持百万规模集群实例的地址发现与流量治理
高度可扩展
调用过程中对流量及协议的拦截扩展,如 Filter、Router、LB 等
微服务治理组件扩展,如 Registry、Config Center、Metadata Center 等
企业级微服务治理能力
国内共有云厂商支持的事实标准服务框架
Apache Dubbo是阿里巴巴于2011年开源的一款高性能Java RPC框架,在这方面阿里巴巴是有强力发言权的,本文就给大家推荐阿里大佬码出的业内公认的“大师级Dubbo实战笔记”
————Dubbo高性能RPC通信框架
1.1应用架构演进过程
1.2 Dubbo 简介
1.3 Dubbo总体大图
————开发第一款Dubbo 应用程序
2.1配置开发环境
2.2基于XML配置实现
2.3基于注解实现
2.4基于API实现
2.5构建并运行
————Dubbo注册中心
3.1注册中心概述
3.2订阅/发布
3.3缓存机制
3.4重试机制
3.5设计模式
————Dubbo扩展点加载机制
4.1加载机制概述
4.2扩展点注解
4.3 ExtensionLoader 的工作原理
4.4扩展点动态编译的实现
————Dubbo启停原理解析
5.1配置解析
5.2服务暴露的实现原理
5.3服务消费的实现原理
5.4优雅停机原理解析
————Dubbo远程调用
6.1 Dubbo调用介绍
6.2 Dubbo协议详解
6.3编解码器原理
6.4 Telnet调用原理
6.5 ChannelHandler
————Dubbo集群容错
7.1 Cluster 层概述
7.2容错机制的实现
7.3 Directory 的实现
7.4路由的实现
7.5负载均衡的实现
7.6 Merger的实现
7.7 Mock
————Dubbo扩展点
8.1 Dubbo核心扩展点概述
8.2 RPC层扩展点
8.3 Remote层扩展点
8.4其他扩展点
————Dubbo高级特性
9.1 Dubbo高级特性概述
9.2服务分组和版本
9.3参数回调
9.4隐式参数
9.5异步调用
9.6泛化调用
9.7上下文信息
9.8 Telnet 操作
9.9 Mock 调用
9.10结果缓存
————Dubbo过滤器
10.1 Dubbo过滤器概述
10.2过滤器链初始化的实现原理
10.3服务提供者过滤器的实现原理
10.4消费者过滤器的实现原理
————Dubbo注册中心扩展实践
11.1 etcd背景介绍
11.2 etcd数据结构设计
11.3构建可运行的注册中心
11.4搭建etcd集群并在Dubbo中运行
————Dubbo服务治理平台
12.1服务治理平台总体结构
12.2服务治理平台的实现原理
————Dubbo未来展望
13.1 Dubbo未来生态
13.2云原生