idea springboot + dubbo + zookeeper分布式框架

本文详细介绍了如何使用Dubbo创建微服务项目,包括生产者和消费者的配置步骤,以及如何在Spring Boot环境中集成Dubbo和Zookeeper,实现服务的注册与发现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击 File 》New》 Project 创建项目

先创建dubbo生产者,根据下图创建
在这里插入图片描述

填写项目名、结构名
在这里插入图片描述

选择所用版本号,建议使用2.0.7版本、然后选择生产者的依赖关系
在这里插入图片描述

填写项目创建地址
在这里插入图片描述

在生产者pom.xml文件中加入dubbo和zookeeper的依赖关系

	 <!--dubbo 依赖 -->
        <dependency>
            <groupId>com.alibaba.spring.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- zookeeper client依赖 -->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

在生产者application中进行配置(如下)

#tomcat端口号
server.port=8080
#mysql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/2018?useUnicode=true&characterEncoding=utf8&useSSL=true&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
# Specify the DBMS
spring.jpa.database = MYSQL

#指定Date时间类型输出格式为yyyy-MM-dd HH:mm:ss;
spring.jackson.date-format=yyyy-MM-dd
#指定时区,解决8小时的时间差问题
spring.jackson.time-zone=GMT+8

#在application.properties中配置
#配置dubbo服务提供者
#服务名称
spring.dubbo.application.name=provider
spring.dubbo.server=true
#注册中心地址
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo 协议
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880

#mapper
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

在启动项目出配置一下两个注解()

@MapperScan("com.jk.mapper")
@EnableDubboConfiguration

注意service实现类中,@service导入的是dubbo注解,UserService为接口

@Service(interfaceClass = UserService.class)

接下来创建消费者consumer
之前操作都一样,到如图这一步,只需要选择这几个依赖就可以了
在这里插入图片描述

生产者和消费者application、pom.xml导入一样的东西
zookeeper的配置换成如下代码

	#配置dubbo消费者
	spring.dubbo.application.name=consumer
	#配置注册中心
	spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
	#dubbo协议
	spring.dubbo.procotol.name=dubbo
	spring.dubbo.procotol.port=20880
	#消费者启动检测生产者是否已启动,当值为true时才会检测,默认为true
	spring.dubbo.consumer.check=false
	#roundrobin轮询机制
	#random #随机机制
	#leastactive #最少活跃调用数机制
	spring.dubbo.reference.loadbalance=roundrobin

注意
生产者controller层注入时使用@Reference注解,导dubbo包

import com.alibaba.dubbo.config.annotation.Reference;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值