Springboot搭建dubbo+zookeeper本地项目
1、下载zookeeper
什么是zookeeper:https://www.cnblogs.com/Bernard94/p/17495775.html
下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.2/

下载好解压后进入conf目录下,把‘zoo_sample.cfg’复制并改名为‘zoo.cfg’:

修改配置文件的日志地址,修改到自己指定位置(非必要操作):

进入bin目录,找到‘zkServer.cmd’双击启动zookeeper:

2、新建项目
1、建父类项目


根据自己配置修改Maven地址和JDK版本:




修改Pom文件,新增以下配置:
<properties>
<dubbo.version>3.2.0-beta.4</dubbo.version>
<spring-boot.version>2.7.8</spring-boot.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-bom</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
2、API模块
new-Module-Next


编写接口:HelloWorld

public interface HelloWorld { public String sayHello(); }
3、provider模块(新建步骤如上)
修改pom文件,新增以下代码
<dependencies>
<!--dubbo统一接口-->
<dependency>
<groupId>com.code</groupId>
<artifactId>dubbo-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
<type>pom</type>
<exclusions>
<exclusion>
<artifactId>slf4j-reload4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- spring boot starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
新增配置文件:application.yml
dubbo: application: name: dubbo-provider protocol: name: dubbo port: -1 registry: address: zookeeper://127.0.0.1:2181 server: port: 8080
新增启动类:ProviderApplication
@SpringBootApplication @EnableDubbo public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } }
新增实现类:HelloWorldImpl
@DubboService public class HelloWorldImpl implements HelloWorld { @Override public String sayHello() { return "hello,world!"; } }
结构如下:

4、consumer模块(新建步骤如上)
修改pom文件,新增以下代码:
<dependencies>
<!--dubbo统一接口-->
<dependency>
<groupId>com.code</groupId>
<artifactId>dubbo-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
<type>pom</type>
<exclusions>
<exclusion>
<artifactId>slf4j-reload4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- spring boot starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- spring boot web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.8</version>
</dependency>
</dependencies>
新增配置文件:application.yml
dubbo: application: name: dubbo-consumer protocol: name: dubbo port: -1 registry: address: zookeeper://127.0.0.1:2181 server: port: 8081
新增启动类:ConsumerApplication
@SpringBootApplication @EnableDubbo public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } }
新增测试类controller:
@RestController public class IndexController { @DubboReference public HelloWorld helloWorld; @RequestMapping("/hello") public String sayHello() { return helloWorld.sayHello(); } }
结构如下:

3、启动项目
1、启动zookeeper

2、启动provider

3、启动consumer

4、测试
浏览器输入路径:http://localhost:8081/hello


浙公网安备 33010602011771号