2024-04-11最新dubbo+zookeeper下载安装,DEMO展示

dubbo+zookeeper下载安装

下载zookeeper:
下载地址
阿荣出品
解压,并进入bin目录,启动
阿荣出品
如果闪退可以编辑脚本,在指定位置加上暂停脚本
阿荣出品
报错内容说没有conf/zoo.cfg,就复制zoo_sample.cfg重命名为zoo.cfg

阿荣出品

再次启动脚本,启动成功。

dubbo-admin控制台在github:用于检测zookeeper的注册情况
github地址

选择稳定版的
阿荣出品
直接下载
阿荣出品
解压,idea打开,读readme,进行环境配置
cmd执行:
构建

mvn clean package -Dmaven.test.skip=true

运行

mvn --projects dubbo-admin-server spring-boot:run

根据提示访问:http://localhost:38080
账号密码:root/root

阿荣出品

DEMO展示

编程入门:
创建了两个springboot项目作为生产者消费者进行演示:
java1.8
springboot2.7.10
maven3.9.6
spring-boot-starter-web

生产者

pom.xml配置文件


<!--        导入dubbo+zookeeper的依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.3.0-beta.2</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency>
<!--        zookeeper的日志和springboot的日志会冲突--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-x-discovery</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.9.2</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

application.properties配置文件

spring.application.name=provider
server.port=8001# zk 注册
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=com.rong.service

代码

package com.rong.service;public interface TicketService {public String getTicket();
}
package com.rong.service;import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Component;@DubboService
@Component
public class TicketServiceImpl implements TicketService{@Overridepublic String getTicket() {return "卖票+i";}
}

消费者

pom.xml

<!--        导入dubbo+zookeeper的依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.3.0-beta.2</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><!--        zookeeper的日志和springboot的日志会冲突--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-x-discovery</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.9.2</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

application.properties

spring.application.name=consumer
server.port=8002# zk 消费
dubbo.application.name=dubbo-consumer
dubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.application.qos-port=22221

代码
接口

package com.rong.service;public interface TicketService {public String getTicket();
}

消费者类

package com.rong.service;import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Component;@Component
public class UserService {@DubboReferenceTicketService TICKET_SERVICE;public void buyTicket(){String ticket = TICKET_SERVICE.getTicket();System.out.println("comsumer"+"::zookeeper::"+ticket);}
}

springboot测试类

package com.rong;import com.rong.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class ConsumerApplicationTests {@AutowiredUserService userService;@Testvoid contextLoads() {userService.buyTicket();}}

附加一:

pom.xml依赖内容可由

        <!--        导入dubbo+zookeeper的依赖--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.3.0-beta.2</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><!--        zookeeper的日志和springboot的日志会冲突--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-x-discovery</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.9.2</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

替换为

        <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-dependencies-zookeeper</artifactId><version>3.2.10</version><type>pom</type></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.2.10</version></dependency>

附加二:

dubbo项目创建可以从官网创建:
官网地址

阿荣出品
根据具体情况选择版本,并生成
阿荣出品
程序可直接使用(api模块分离形式请参考生成项目)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端网络 --- http缓存

什么是http缓存&#xff1f; 1、HTTP 缓存会存储与请求关联的响应&#xff0c;并将存储的响应复用于后续请求。 2、缓存的原理是在首次请求后保存一份请求资源的响应副本&#xff0c;当用户再次发起相同请求时&#xff0c;判断缓存是否命中&#xff0c;如果命中则将前面的响应…

react v18 项目初始化

按照以下命令进行傻瓜式操作即可&#xff1a; 全局安装脚手架工具&#xff1a; npm install -g create-react-app创建项目my-react-app&#xff1a; create-react-app my-react-app安装 antd: yarn add antd安装 react-router-dom&#xff1a; yarn add react-router-dom启动项…

图论学习总结

目录 图论学习总结前言一、基础知识图的存储图的遍历 二、最短路多源最短路 F l o y d Floyd Floyd​ 算法例题及变形 e g 1 &#xff1a; S o r t i n g I t A l l O u t eg1&#xff1a;Sorting\ It\ All\ Out eg1&#xff1a;Sorting It All Out ( 蓝书例题&#xff0c;传递…

软硬链接与动静态库

文章目录 1.软硬链接2.动态库和静态库2.1 见一见库2.2 动静态库2.2.1 静态库2.2.2 动态库 2.3 动静态库的对比 3.真实的应用场景(ncurses库)4.库加载---可执行程序和地址空间4.1可执行程序的加载4.2 库的加载 1.软硬链接 2.动态库和静态库 2.1 见一见库 我们用过很多库。C/C的…

如何节约上架时间,小程序管理平台推荐

继微信正式推出微信小程序后&#xff0c;各个大厂陆续发布了各自的小程序平台 —— 支付宝小程序、百度小程序、头条小程序&#xff0c;各家不同的小程序标准一度让开发者们激情开骂&#xff0c;虽然目前跨平台的小程序开发可以通过taro、mpvue、kbone等跨平台开发框架来解决&a…

车载摄像头智能颜色校正解决方案,卓越画质新体验

随着智能交通和自动驾驶技术的快速发展&#xff0c;车载摄像头作为车辆感知外界环境的重要部件&#xff0c;其画面质量对于行车安全和用户体验至关重要。然而&#xff0c;由于光线变化、设备差异以及拍摄环境复杂多变&#xff0c;车载摄像头拍摄的画面往往会出现颜色失真、对比…

管理 nodejs 版本工具 nvm

nvm 方便切换不同版本的 node 及 对应的 npm 版本 一、安装nvm nvm官网 &#xff08;内含下载的文件&#xff0c;点击进去下载&#xff0c;并按照 网站文档步骤 操作即可&#xff09; 二、nvm 基础命令 nvm arch&#xff1a;显示node是运行在32位还是64位。nvm install <…

32.5k star!发现一个新的 API 调试工具!postman 要被替换了【文末有项目源码】

在软件开发过程中&#xff0c;API&#xff08;应用程序接口&#xff09;扮演着至关重要的角色。为了确保 API 的可靠性和性能&#xff0c;开发人员需要一种高效的方式来测试和调试它们。这方面的工具&#xff0c;大家经常用到的应该就是 postman 了。不过&#xff0c;今天想要给…

[Qt网络编程]之获取基本网络信息

前言 获取主机的网络地址和接口信息是进行网络编程的第一步&#xff0c;也是网络编程的基础。Qt提供了网络接口类 QNetworkInterface、网络地址人口类 QNetworkAddressEntry 和主机地址类 QHostAddress 来获取和使用地址信息。其中网络接口类 QNetworkInterface 描述了主机的卫…

短信防刷之滑动验证码

前言&#xff1a;最近想写一个滑动验证码&#xff0c;前台的样式虽然很好看&#xff0c;但是并不安全&#xff0c;网上也都是一些demo&#xff0c;不是前后台分离的&#xff0c;然后就自己查资料&#xff0c;自己来完成了 滑动验证码 一、为什么要使用滑动验证码 首先&#x…

斯坦福大学2024年人工智能发展和前景全面分析报告

2024 年指数是斯坦福大学迄今为止最全面的指数&#xff0c;恰逢人工智能对社会的影响力达到前所未有的重要时刻。今年&#xff0c;斯坦福大学扩大了研究范围&#xff0c;更广泛地涵盖人工智能的技术进步、公众对该技术的看法以及围绕其发展的地缘政治动态等基本趋势。 完整详细…

onedrive 清理文件历史版本 节省空间

onedrive 清理文件历史版本以节省空间的操作步骤 起因&#xff1a; 用的好好的onedrive高校教育版&#xff0c;突然在2024年4月2日晚上把空间从1T回收到100G&#xff0c;然后文件爆满&#xff0c;虽然没有把文件都给我删了&#xff0c;但是可能几个月窗口期过去就没文件了。而…

2024年——区块链技术进入全新高度

BTC生态蓬勃发展&#xff0c;以太坊的L1和L2模块化重塑智能合约生态。RAAS&#xff08;区块链即服务&#xff09;、Depin、并行EVM等技术的崛起&#xff0c;为区块链应用提供了更高的性能和可扩展性。以太坊再质押成为焦点。技术创新与日俱进&#xff0c;一同探索这个充满活力的…

KVM部署

1、检查虚拟化支持 首先&#xff0c;确认你的系统处理器支持硬件虚拟化&#xff0c;在Linux终端中&#xff0c;使用以下命令&#xff1a; egrep -c (vmx|svm) /proc/cpuinfo2、安装KVM及其工具 yum update yum install qemu-kvm libvirt libvirt-python libguestfs-tools vi…

10-菜刀连接木马

找到了漏洞后&#xff0c;并且上传了木马之后才能使用的两款工具 中国菜刀和冰蝎 想办法获取别人的cookie&#xff0c;cookie中有session-id 一、中国菜刀 1、必须提前已经完成木马植入然后才能使用 2、木马必须是POST请求&#xff0c;参数自定义&#xff0c;在菜刀里给出…

机器学习与深度学习 --李宏毅(笔记与个人理解)Day 20

Day 20 RNN 2 实际使用和其他应用 在实际的学习&#xff08;training&#xff09;过程中是如何工作的&#xff1f; step 1 Loss step 2 training Graindent Descent 反向传播的进阶版 – BPTT CLIpping 设置阈值~ 笑死昨天刚看完关伟说的有这玩意的就不是好东西 Why&#xff1…

C语言趣味代码(一)

C语言相关知识点的博客和大家分享完了&#xff0c;接下来我想开始数据结构相关的博客&#xff0c;在此之前呢&#xff0c;有的小伙伴问过我学完C语言的相关知识&#xff0c;我能干些什么呢&#xff1f;只有刷题吗&#xff1f;这不禁让我反思&#xff1a;在我们学习的过程中&…

远程DCS监控

在数字化、智能化的浪潮中&#xff0c;工业控制系统正迎来前所未有的变革。分布式控制系统&#xff08;DCS&#xff09;作为工业自动化领域的核心&#xff0c;其稳定运行对于企业的生产效率和安全至关重要。而远程DCS监控作为实现工业自动化、智能化管理的关键一环&#xff0c;…

【wpf】ObservableCollection 跨线程报错问题

背景 ObservableCollection 我们之前介绍过他和List的区别。ObservableCollection 的好处在于&#xff0c;当集合发生变化时&#xff0c;能发送通知通知界面发生相应的更改。但是ObservableCollection 有个弊端。无法在非UI线程中访问。 要么就是通知失效了&#xff0c;要么就…

MySQL修改数据表的结构

创建数据库 -- create database 创建的数据库名; create database test; 这里创建了一个名为 test 的数据库 选择需要使用的数据库 -- use 数据库名; use test; 这里使用 test 数据库 创建数据表 -- create table 表名(字段名1 数据类型(长度) 约束,字段名2 数据类型(长…