温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java dubbo如何配置使用

发布时间:2026-11-03 15:36:42 来源:亿速云 阅读:87 作者:小樊 栏目:编程语言

下面给你一个从零到可用的 Java Dubbo 配置使用教程,以 Spring Boot + Dubbo 3.x 为主(目前最常用),也会补充传统 XML 方式作为参考。


一、Dubbo 是什么(一句话)

Dubbo 是 RPC 框架,用于:

  • 服务注册与发现
  • 远程方法调用
  • 负载均衡、容错

二、环境准备

  • JDK 8+
  • Maven
  • Zookeeper(或其他注册中心,如 Nacos)

1️⃣ 安装注册中心(示例 Zookeeper)

# 本地启动
bin/zkServer.sh start

三、Spring Boot + Dubbo(推荐)

1️⃣ 引入依赖

<dependencies>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>3.2.5</version>
    </dependency>

    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-registry-zookeeper</artifactId>
        <version>3.2.5</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
</dependencies>

2️⃣ 定义公共接口(API 模块)

public interface UserService {
    String sayHello(String name);
}

3️⃣ 服务提供者(Provider)

实现接口

@DubboService
public class UserServiceImpl implements UserService {
    @Override
    public String sayHello(String name) {
        return "Hello " + name;
    }
}

启动类

@SpringBootApplication
@EnableDubbo
public class ProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class, args);
    }
}

application.yml

dubbo:
  application:
    name: user-provider
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: 20880

4️⃣ 服务消费者(Consumer)

调用远程服务

@RestController
public class TestController {

    @DubboReference
    private UserService userService;

    @GetMapping("/hello")
    public String hello() {
        return userService.sayHello("Dubbo");
    }
}

application.yml

dubbo:
  application:
    name: user-consumer
  registry:
    address: zookeeper://127.0.0.1:2181

四、传统 XML 配置方式(了解)

Provider XML

<dubbo:application name="provider"/>
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<dubbo:protocol name="dubbo" port="20880"/>

<dubbo:service interface="com.xxx.UserService"
               ref="userService"/>

Consumer XML

<dubbo:application name="consumer"/>
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>

<dubbo:reference id="userService"
                 interface="com.xxx.UserService"/>

五、常用核心配置说明

配置 作用
@DubboService 暴露服务
@DubboReference 引用服务
registry 注册中心
protocol 通信协议
timeout 调用超时
retries 重试次数

六、常见问题

✅ 服务找不到

  • 注册中心是否启动
  • 接口包名是否一致

✅ 端口冲突

  • 修改 protocol.port

✅ 版本控制

@DubboService(version = "1.0.0")
@DubboReference(version = "1.0.0")

七、总结

✅ Dubbo 使用核心三步:

  1. 定义接口
  2. Provider 用 @DubboService
  3. Consumer 用 @DubboReference

如果你需要:

  • Dubbo + Nacos
  • Dubbo 集群 / 负载均衡
  • 与 Spring Cloud 对比
  • 真实项目结构示例

告诉我,我可以直接给你完整 demo。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手