编辑
2025-07-18
实用工具
00

目录

简介
使用
dubbo依赖
yml配置
接口生产者
接口消费者
拓展-dubbo-admin安装

简介

Dubbo 是阿里巴巴开源的高性能 Java RPC 框架,专为分布式服务架构设计。它通过 服务注册与发现、负载均衡、容错机制 等核心能力,简化了分布式系统的开发和治理,广泛应用于微服务架构中。以下是其关键特点:

核心特性

  • 透明化远程调用

像调用本地方法一样调用远程服务,屏蔽网络通信细节,开发者无需关注底层实现。

  • 服务注册与发现

服务提供者(Provider)将服务地址注册到注册中心(如 Zookeeper、Nacos),消费者(Consumer)动态发现服务地址,实现动态扩缩容。

  • 负载均衡

支持随机、轮询、最少活跃调用等策略,优化流量分配,提升系统可用性。

  • 容错机制

提供失败重试(Failover)、快速失败(Failfast)、降级(Failsafe)等策略,保障服务稳定性。

  • 服务治理

包含限流、熔断、监控等能力,支持动态配置调整(如超时时间、重试次数)。

  • 多协议支持

支持 Dubbo 协议(默认)、HTTP、RMI、Hessian 等,适应不同场景需求。

官网

使用

前置条件 nacos安装 jdk

dubbo依赖

xml
<dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>3.2.0</version> <!-- 根据需求选择版本 --> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-nacos</artifactId> <version>3.2.0</version> <!-- 版本需与 Dubbo 一致 --> </dependency>

yml配置

YML
# Dubbo 配置 dubbo.application.name=your-service-name dubbo.protocol.name=dubbo dubbo.protocol.port=20880 # Nacos 注册中心配置 dubbo.registry.address=nacos://127.0.0.1:8848

接口生产者

java
public interface HelloService { String sayHello(String name); }
java
@Service // Dubbo 的 @Service 注解 public class HelloServiceImpl implements HelloService { @Override public String sayHello(String name) { return "Hello, " + name; } }

接口消费者

消费者配置

yml
dubbo.application.name=your-consumer-name dubbo.registry.address=nacos://127.0.0.1:8848

引用

java
@Reference // Dubbo 的 @Reference 注解 private HelloService helloService; public void testHelloService() { String result = helloService.sayHello("Dubbo"); System.out.println(result); // 输出: Hello, Dubbo }

拓展-dubbo-admin安装

拉取docker镜像

docker pull apache/dubbo-admin:latest

部署

docker run -d \ --name dubbo-admin \ -p 9600:8080 \ -e admin.registry.address=nacos://<NACOS_IP>:8848 \ -e admin.config-center=nacos://<NACOS_IP>:8848 \ -e admin.metadata-report.address=nacos://<NACOS_IP>:8848 \ -e admin.root.user.name=root \ -e admin.root.user.password=root \ --restart=always \ apache/dubbo-admin:latest

访问http://<服务器IP>:9600

默认账号root 密码root

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!