3.0都来了,还不知道怎么读dubbo?我写了一个系列,要不学学?

dubbo是啥?

Apache Dubbo 是一款高性能、轻量级的开源 Java 服务框架

dubbo有什么用?

  • 面向接口代理的高性能 RPC 调用;

  • 服务自动注册与发现;

  • 智能负载均衡策略;

  • 高度可扩展能力;

  • 运行期流量调度;

  • 可视化的服务治理与运维;

具体在游戏中,便是实现远程方法的本地调用,让远程调用和本地方法一样丝滑。

dubbo结构是什么样的?

来个官网图

image-20210630211123866

其实看流程图没用,不如看我dubbo系列文章,服务暴露、服务引用整个流程,给你整的明明白白。

dubbo的一生

2011/10/27: 刚出生,阿里巴巴巴宣布 Dubbo 开源。

2012/10/23: 差点夭折,发布最后一个版本 2.5.3 并停止维护更新。

2017/07/31: 起死回生,官方宣布开启重新更新,并会得到重点维护,参考:Dubbo 宣布重新开始维护

2017/09/07: 发布起死回生的第一个版本:dubbo-2.5.4

2018/01/08:

1、Dubbo 团队透露 Dubbo 3.0 宣布正式开工

2、发布了 dubbo-2.6.0 版本,主要合并了由当当网开源的 dubbox 项目分支。PS:dubbo停止维护期间,当当网基于 dubbo 开源了dubbox。

2018/01/22: Dubbo Spring Boot 版正式发布:dubbo-spring-boot-starter v1.0.0 公测版。

2018/02/09: Dubbo 通过投票正式进入 Apache 基金会孵化器,更新了 Apache 官方域名,也不再仅限于 Java 语言。

2019/05/20: Apache 软件基金会宣布 Dubbo 正式毕业,成为 Apache 的顶级项目。

2021/06/20: Dubbo3.0来了

所以Dubbo3.0的特性是啥啊

  • 应用级服务发现机制;

  • 下一代 RPC 协议:Triple;Triple 协议是 Dubbo3 的主力协议,完整兼容 gRPC over HTTP/2,并在协议层面扩展了负载均衡和流量控制相关机制。

  • 全新的路由规则;

  • 显著提升性能;

  • Kubernetes 服务集成;

注意:Dubbo 核心不再提供第三方 SDK 扩展,需要通过 dubbo-spi-extensions 项目来支持。

目前支持的扩展有:

  • Zookeeper 作为注册中心、元数据报告、配置中心;

  • Nacos 作为注册中心、元数据报告、配置中心;

  • Kubernetes 作为注册中心;

  • Redis 作为元数据报告;

  • Apollo 作为配置中心;

  • Hessian2 和 jdk 作为默认序列化器;

  • Triple 协议支持 Protobuf;

所以到底要怎么学dubbo?

很多人不知道怎么入手学dubbo,只是听过而已,那么该怎么学呢?

首先肯定是看官网啦:dubbo.apache.org/zh/

其次是看源码啦:github.com/apache/dubb…

如果想看代码注释的话可以看我备注的版本:github.com/wiatingpub/…

其次是关注我,我前阵子在公司写了一个服务化中间件,参考的就是dubbo,最近打算在写一个dubbo系列,目前已经写了:

image-20210630212328417

一起玩dubbo,先入个门

一起玩dubbo,万字长文揭秘服务暴露

想学dubbo的看过来,2万字整理服务引入流程

  • 服务消费方如何远程调用服务提供方,进度百分之八十

  • SPI,正在写

  • dubbo中的AOP机制,正在写

  • 服务治理,正在写

不过都是2.6x系列,3.0的版本后续会写个改动版本的系列出来,有兴趣持续关注。

学完dubbo,可以做一个rpc框架吗?

可以的,看dubbo源码参考相关模型即可,像我们公司的rpc框架,我们主要参考了流程和模型设计,比如invoker模型、cluster、router、provider、consumer、register、proxy层、transport、loadbalance等等,后续我这边会带大家写个rpc,有兴趣持续关注我。

所以dubbo怎么拼?

image-20210630210952781

来,张嘴:达波

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享