Dubbo 2.7 结合Spring boot搭建简单demo

Dubbo 2.7.8 结合Spring boot搭建简单demo

记录学习dubbo搭建demo,使用的dubbo版本2.7.8,zookeeper版本3.5.8,Spring boot版本2.3.7.RELEASE。

安装zookeeper

安装环境是win10下的wsl2安装的ubuntu18,之前恰好尝试给安装好了,简单测试了下能正尝试使用,和外网也能通,用虚拟机或者其他linux环境也是一样。
大致步骤就是下载->解压->配置->运行:

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8.tar.gz

将包移动到安装目录后解压tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz ,解压后目录:
zookeeper 目录
简单配置,将sample配置复制一份cp zoo_sample.cfg zoo.cfg,修改下内容,建个目录存放数据,指定数据目录,配置项为dataDir。需要注意的是,安装的这个版本是携带有zookeeper admin的,默认启动为8080端口,也可以将其关闭或者修改端口。因为我的wsl是和宿主机共用端口的,之前未注意,端口冲突不正常才发现,zookeeper adminServer官方文档,我选择了修改下端口,配置如图在这里插入图片描述
通过命令nohup ./bin/zkServer.sh start 静默启动,通过./bin/zkServer.sh status查看启动状态,除此之外stop停止、restart重启也可以,可通过-h查看支持的命令参数。如status看到类似信息则启动成功,或者查看2181端口是否处于监听状态也可判定。./bin/zkServer.sh status 结果
至此,zookeeper安装启动已完成,通过ifconfig查看本机ip用于连接zookeeper即可,如有防火墙之类的记得开下端口。

dubbo admin

dubbo admin是可选的,地址: https://github.com/apache/dubbo-admin ,下载代码到本地后,根据文档配置启动就好,README文档步骤启动就好,然后界面如下:
dubbo admin
根据配置中可知,默认登录账号密码皆为root。如果这个能启动成功,说明zookeeper正常,配置正确,那在后续步骤出问题时可减少排查时间。

搭建服务

dubbo服务需要服务提供者和服务消费者,且都需要连接zookeeper和使用dubbo依赖,所以项目结构可以类似这样:
项目结构
provider需要实现api定义的功能接口,consumer需调用api接口,所以把接口提取成dubbo-demo-api项目,然后在provider和consumer中引入即可。

安装Apache Dubbo: 1. 下载Dubbo的源代码或者二进制包,解压到任意目录下; 2. 配置Dubbo的环境变量,将Dubbo的bin目录添加到系统的PATH环境变量中; 3. 验证Dubbo是否安装成功,打开终端,运行dubbo -v命令,如果显示Dubbo的版本号,则说明安装成功。 配置Spring Boot: 1. 创建Spring Boot项目,可以在https://start.spring.io网站上选择需要的依赖来创建项目; 2. 添加Dubbo的依赖,在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>x.x.x</version> </dependency> ``` 其中,x.x.x是Dubbo的版本号; 3. 配置Dubbo的相关属性,在application.properties文件中添加以下配置: ``` # Dubbo application name dubbo.application.name=dubbo-demo # Dubbo registry address dubbo.registry.address=zookeeper://127.0.0.1:2181 # Dubbo protocol dubbo.protocol.name=dubbo dubbo.protocol.port=20880 ``` 其中,dubbo.application.name是Dubbo应用的名称,dubbo.registry.address是Dubbo注册中心的地址,dubbo.protocol.name是Dubbo使用的协议名称,dubbo.protocol.port是Dubbo使用的协议端口号。 配置Spring Cloud: 1. 添加Dubbo的依赖,在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-dubbo</artifactId> <version>x.x.x</version> </dependency> ``` 其中,x.x.x是Dubbo的版本号; 2. 配置Dubbo的相关属性,在application.properties文件中添加以下配置: ``` # Dubbo application name dubbo.application.name=dubbo-demo # Dubbo registry address dubbo.registry.address=zookeeper://127.0.0.1:2181 # Dubbo protocol dubbo.protocol.name=dubbo dubbo.protocol.port=20880 ``` 其中,dubbo.application.name是Dubbo应用的名称,dubbo.registry.address是Dubbo注册中心的地址,dubbo.protocol.name是Dubbo使用的协议名称,dubbo.protocol.port是Dubbo使用的协议端口号。 配置Maven: 1. 在pom.xml文件中添加Dubbo的依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>x.x.x</version> </dependency> ``` 其中,x.x.x是Dubbo的版本号; 2. 在pom.xml文件中添加Dubbo插件: ``` <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>com.xxx.xxx.xxx.MainClass</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>com.alibaba</groupId> <artifactId>dubbo-maven-plugin</artifactId> <version>x.x.x</version> <configuration> <fork>true</fork> <mainClass>com.xxx.xxx.xxx.MainClass</mainClass> </configuration> </plugin> </plugins> ``` 其中,x.x.x是Dubbo的版本号,<mainClass>com.xxx.xxx.xxx.MainClass</mainClass>是Dubbo应用的启动类。 以上就是在Spring BootSpring Cloud和Maven中配置Dubbo的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值