简介

Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

Dubbo 官网提供了非常详细的中文文档,非常详细!

RPC

Remote Procedure Call Protocol,远程过程调用协议,通过网络从远程计算机程序上请求服务。

有人说RPC的本质是Socket,想想也是,而且Dubbo用的是高性能的Netty

Dubbo核心

四大组件

  • Provider,服务提供者
  • Consumer,服务消费者
  • Registry,服务注册与发现的中心,提供目录服务
  • Monitor,服务监控中心,提供服务调用、日志、权限、降级等功能

版本问题

ZK版本

Dubbo在2.6.0之前版本,默认是使用zkClient,2.6.1版本后开始使用curator,需要注意!

Spring版本

Dubbo是基于Spring的,所以开发时需要注意Spring版本保持一致,以免发生版本冲突!

使用

创建Maven模块:01-api,定义服务接口,01-provider,服务提供者,01-consumer,服务消费者

注意的是这里没有使用注册中心,而是让服务消费者直接连服务提供者的ip和port就行了。

然后先运行01-provider,启动成功后,再启动01-consumer,可以看到控制台打印信息,下载demo

image.png

代码本身很简单,主要是学习下Dubbo的一些配置和特性,官方文档也很详细,每个标签功能都有详细说明,这里就不已图文的方式展示,可以直接下载demo运行,尽量多写注释!💪💪💪

参考资料

请你相信我所说的都是错的