掘金 后端 ( ) • 2024-04-25 14:04

theme: serene-rose highlight: a11y-dark

本文主要介绍 SpringBoot 与 Dubbo3 的整合

首先看依赖

<!--Dubbo 3-->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.3.0-beta.2</version>
</dependency>

<!--SpringCloud与nacos 整合依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!--SpringBoot 工程-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>

接下来就需要开启对于 Dubbo 的支持将当前应用注册到 nacos 中

@EnableDubbo 注解用于开启对Dubbo 的支持

@EnableDiscoveryClient Spring Boot 应用会自动向服务发现组件注册自身,并能够从组件中获取其他注册的服务信息。

@SpringBootApplication
@EnableDubbo
@EnableDiscoveryClient
public class UserProviderApplication {

}

配置信息

image.png

一共两个文件,一个是 bootstrap 一个是 dubbo 的配置文件,这里有个注意点,必须使用 properties。

bootstrap.yml

spring:
  cloud:
    nacos:
      username: nacos  # Nacos 注册中心的用户名
      password: nacos  # Nacos 注册中心的密码
      discovery:
        server-addr: localhost:8848  # Nacos 注册中心的地址
        namespace: kun-live-test  # Nacos 的命名空间,用于隔离不同环境的配置

dubbo.properties

# Dubbo 应用名称
dubbo.application.name=kun-live-user-provider

# Dubbo 注册中心配置,使用 Nacos 作为注册中心,指定地址、命名空间、用户名和密码
dubbo.registry.address=nacos://127.0.0.1:8848?namespace=eab14ff9-ebbf-4308-a122-cb4151534b6b&username=nacos&password=nacos

# 启用 Dubbo 服务端
dubbo.server=true

# Dubbo 协议配置,使用 Dubbo 协议,并指定服务端口
dubbo.protocol.name=dubbo
dubbo.protocol.port=9090

就可以启动了。