SpringBoot 2.3.1 整合 Dubbo 以及 Zookeeper

SpringBoot 2.3.1 整合 Dubbo 以及 Zookeeper

环境准备: SpringBoot 2.3.1 Docker Zookeeper

一 、使用Docker下载Zookeeper

docker pull zookeeper

二 、启动刚刚我们下载好的Zookeeper

#--name:自定义容器名字
# -p 注意zookeeper有三个端口(这里我们只需要暴露出2181端口即可)
#	2181:对cline端提供服务
#	3888:选举leader使用
#	2888:集群内机器通讯使用(Leader监听此端口)
#--restart always  表示只要容器退出,则Docker将自动重启该容器
# -d 表示该容器在后台运行
docker run --name myzookeeper01 -p 2181:2181 --restart always -d zookeeper

三、创建项目

首先在这里选择Empty Poject
然后在空工程里添加新的 Model ,首先我们选择Spring Initializr在这里插入图片描述
然后创建provider-ticket(提供者)
在这里插入图片描述
在这里插入图片描述
同样是添加新的 Model ,选择Spring Initializr创建consumer-user(消费者)
在这里插入图片描述
在这里插入图片描述
三、导入相关依赖
这里需要注意的是,因为我用的是SpringBoot2.3.1版本,与SpringBoot1.x版本不一样,还是存在一些差异的

我们先修改provider-ticket的依赖

<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!--这里是新增需要的依赖 -->
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>4.2.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>4.2.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.dubbo</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>2.7.7</version>
		</dependency>
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.14</version>
		</dependency>
	</dependencies>

修改provider-ticket模块的pom.xml

# 配置服务名称
spring:
  application:
    name: provider-ticket
# 连接我们刚刚下好的启动了的zookeeper  ip换成你的Linux的ip即可
dubbo:
  registry:
    address: zookeeper://192.168.0.113:2181
	#记住timeout一定要加进去不然会报错
    timeout: 10000
  # 这里放入我们要准备注册的组件的包名
  scan:
    base-packages: com.atguigu.providerticket.service

编写Service
在这里插入图片描述
编写ServiceImpl
在这里插入图片描述
编写controller
在这里插入图片描述
添加在Applicaiton上面@EnableDubbo注解
在这里插入图片描述
修改consumer-user的依赖

		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>4.2.0</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-recipes -->
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>4.2.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.dubbo</groupId>
			<artifactId>dubbo-spring-boot-starter</artifactId>
			<version>2.7.7</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
		<dependency>
			<groupId>com.github.sgroschupf</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.14</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--        去除对默认日志的依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<!-- 去除对默认日志的依赖 -->
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
在这里插入代码片

修改consumer-user的application.properties文件

spring.application.name=consumer-user
dubbo.registry.address=zookeeper://192.168.0.113:2181
dubbo.registry.timeout=10000
server.port=18081

编写consumer-user的Service
在这里插入图片描述
编写consumer-user的controller
在这里插入图片描述
接下来将我们provider-ticket中的service拿过来放在ConsumerUserApplication所在包下
在这里插入图片描述
1)、先启动provider-ticket然后再启动consumer-user
2)、访问:localhost:18081/buy?name=张三
在这里插入图片描述
访问成功!OK

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值