# dubbo-demo **Repository Path**: tree_boss/dubbo-demo ## Basic Information - **Project Name**: dubbo-demo - **Description**: springboot+dubbo+nacos - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dubbo Demo 项目 ## 项目介绍 这是一个基于 Spring Boot、Dubbo 和 Nacos 的分布式服务示例项目,展示了如何使用 Dubbo 框架实现 RPC 服务调用,并通过 Nacos 作为服务注册中心进行服务治理。 ## 技术栈 - Java 1.8 - Spring Boot 2.7.0 - Apache Dubbo 3.1.3 - Nacos 服务注册中心 ## 项目结构 项目采用标准的 Dubbo 多模块架构,包含以下三个主要模块: ``` dubbo-demo/ ├── dubbo-api/ # 服务接口定义模块 ├── dubbo-provider/ # 服务提供者模块 └── dubbo-consumer/ # 服务消费者模块 ``` ### 模块说明 #### dubbo-api - 定义了服务接口,作为服务提供者和消费者之间的契约 - 只包含接口定义,不包含实现 #### dubbo-provider - 实现了 `dubbo-api` 中定义的服务接口 - 向 Nacos 注册中心注册服务 - 提供 RPC 服务调用能力 #### dubbo-consumer - 通过 Dubbo 引用远程服务 - 提供 RESTful API 接口,调用远程服务并返回结果 ## 快速开始 ### 前提条件 - JDK 1.8 或更高版本 - Maven 3.6+ 构建工具 - Nacos 服务端已启动(默认监听 8848 端口) ### 安装步骤 1. 克隆项目 ```bash git clone https://github.com/yourusername/dubbo-demo.git cd dubbo-demo ``` 2. 构建项目 ```bash mvn clean install ``` 3. 启动服务提供者 ```bash cd dubbo-provider mvn spring-boot:run ``` 4. 启动服务消费者 ```bash cd ../dubbo-consumer mvn spring-boot:run ``` ### 使用说明 服务启动后,可以通过以下方式测试: - 访问服务消费者提供的 RESTful API: ``` http://localhost:8082/hello/{name} ``` 其中 `{name}` 是您想要传入的名称参数 - 例如,访问 `http://localhost:8082/hello/World`,将会返回: ``` Hello,World ``` ## 服务接口说明 ### DemoService - **方法**: `String sayHello(String name)` - **描述**: 接收一个名称参数,返回问候字符串 - **参数**: `name` - 要问候的名称 - **返回值**: 格式化的问候字符串 "Hello,{name}" ## 配置说明 ### 服务提供者配置 (dubbo-provider/src/main/resources/application.yml) - 服务端口: 8081 - Dubbo 协议端口: 20880 - Nacos 注册中心地址: `nacos://localhost:8848` ### 服务消费者配置 (dubbo-consumer/src/main/resources/application.yml) - 服务端口: 8082 - Nacos 注册中心地址: `nacos://localhost:8848` ## 注意事项 1. 确保 Nacos 服务已正确启动并运行在默认端口 8848 2. Nacos 登录凭据默认为: 用户名 `nacos`,密码 `nacos` 3. 服务分组配置为 `test-group` 4. 如需修改配置,请编辑对应模块的 `application.yml` 文件 ## 许可证 本项目基于 MIT 许可证。详情请查看 文件。