Dubbo框架介绍

Dubbo由阿里开发
GRPC由Google开发
TRPC由腾讯开发

Dubbo官方文档
两种使用方式:

  1. Spring Boot代码(注解+编程式):写Java接口,服务提供者和消费者都去引用这个接口。

  2. IDL(接口调用语言):创建一个公共的接口定义文件,服务提供者和消费者读取这个文件。优点是跨语言,所有的框架都认识。
    Dubbo底层用的是Triple协议

  3. 为什么一定要知道注册中心的地址?
    因为服务提供者需要将自己提供的接口方法告知注册中心,所以它必须知道注册中心的地址才能将自己的信息上报给注册中心。
    同样的道理,我们的消费者调用方也需要知道注册中心的地址,以便将注册中心的地址配置到项目中。

  4. IDL是什么呢?
    一种约定俗成的语言,用于定义接口和数据结构的语法。
    可以明确地定义接口和数据的结构,使各方在交流和协作时能够达成一致。

Nacos

Nacos也可以作为注册中心
Nacos
下载安装3.1.1

使用Nacos作为注册中心实现自动服务发现

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-nacos-spring-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
# 以下配置指定了应用的名称、使用的协议(Dubbo)、注册中心的类型(Nacos)和地址
dubbo:
application:
# 设置应用的名称
name: dubbo-springboot-demo-provider
# 指定使用 Dubbo 协议,且端口设置为 -1,表示随机分配可用端口
protocol:
name: dubbo
port: -1
registry:
# 配置注册中心为 Nacos,使用的地址是 nacos://localhost:8848
id: nacos-registry
address: nacos://localhost:8848