基于spring boot框架访问zookeeper

news2025/7/16 9:07:59
  1. 本地部署zookeeper:

进入zookeeper-3.3.6/conf目录下,将zoo_sample.cfg文件改名为zoo.cfg,再用文本编辑器打开这个文件,修改如下红框位置的内容,改成本地一个可以访问的已有目录:

打开命令行窗口,进入zookeeper-3.3.6/bin目录,windows下执行zkServer.cmd status,mac和linux下执行./zkServer.sh status,该命令是查看当前zookeeper的状态,由于还没有启动zookeeper,我们会看到如下错误信息:

现在启动zookeeper吧,windows下执行zkServer.cmd start,mac和linux下执行./zkServer.sh start,启动信息如下:

这时候输入zkServer.cmd status,看到的结果如下:

可以看到zookeeper正在以standalone模式运行中;

现在我们用客户端命令来试试服务,windows下执行zkCli.cmd, mac和linux下执行./zkCli.sh,连接上服务端:

执行create /node_1 abc创建一个znode,对应的value是”abc”,再执行get /node_1可以查看/node_1的value,如下图:

关于zookeeper的安装和验证就写到这里了,接下来我们开始开发应用来访问这个zookeeper节点的数据。

  1. 开发基于spring boot的应用: 打开IntelliJ IDEA CE,创建名为zookeeperdemo的Maven工程,指定模板,如下图:

工程创建后要做的就是修改pom,增加库的依赖,已经添加配置文件,写java代码,具体的源码请在我的git上下载,链接:GitHub - zq2599/blog_demos: CSDN博客专家程序员欣宸的github,这里有六百多篇原创文章的详细分类和汇总,以及对应的源码,内容涉及Java、Docker、Kubernetes、DevOPS等方面

源码在以下位置:

源码下载下来后,可以通过Intellij IEDA导入,导入的时候以下红框中的选项需要选中,这样才能导入maven工程:

整个工程非常简单,首先是pom文件,依赖的父工程要用spring-boot-starter-parent:

还要添加对springboot的依赖,以及build时使用springboot对应的插件:

在resource目录增加application.properties文件配置一些重要的参数,例如日志目录,web server端口等,如下图:

最后是写java代码,由于只是个demo,这里的代码非常简单,一个入口,一个controller,入口如下:

controller如下,是一个简单的rest响应,链接zookeeper取得znode节点的值然后返回,注意由于申明了RestController,所以返回的内容非页面而是字符串:

至此,编码结束,来试试吧,如下图新建一个命令:

选择maven:

命令内容为clean package -U -Dmaven.test.skip=true spring-boot:run,如下:

命令创建完成后,点击“run“执行:

此时打开浏览器,输入http://localhost:2222/zkget即可得到我们在zookeeper上设置的/node_1的value,如下图:

至此,基于spring boot框架访问zookeeper的demo开发以及结束,后面我们尝试通过Dockerfile的方式制作zookeeper的镜像,然后通过docker的容器提供zookeeper的服务。

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

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

相关文章

高考开始了,计算机专业未来还会火吗?

2023年高考,今天开始第一场考试。而走出考场,考生们也将面临选报专业的难题。高考人数逐年攀升,录取率却不断下降。 过去10年,计算机专业可谓红透半边天,早早进入这个行业的,基本都吃到了很高的红利。然而…

动态规划母题:01背包问题

1. 前置知识 动态规划与图论,前缀和与差分等有模板的算法不同,动态规划更考察思维能力,而不是运用模板的能力。 个人认为 Acwing 关于动态规划的讲解比较容易理解。我会根据 Acwing 的动态规划解题思路来讲解题目。 虽说动态规划没有固定的模…

基于Locust实现MQTT协议服务的压测脚本

一、背景简介 业务背景大概介绍一下,就是按照国标规定,车辆需要上传一些指定的数据到ZF的指定平台,同时车辆也会把数据传到企业云端服务上,于是乎就产生了一些性能需求。 目前我们只是先简单的进行了一个性能场景的测试&#xf…

PMP考试到底难在哪里?

那么,PMP考试到底难在哪? 01涉及面广 目前PMP考试内容大部分来源于教材《PMBOK指南》和《敏捷实践指南》。 作为考试出题的知识基础《PMBOK指南》,总共有700多页,所覆盖的知识面很广。 另一方面,根据最新版考纲&am…

使用大型语言模(LLM)构建系统(二):内容审核、预防Prompt注入

今天我学习了DeepLearning.AI的 Building Systems with LLM 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。 下面是我们访问大型语言模(LLM)的主要代码: import openai#您的openai的api key openai.api_key YOUR-OPENAI-API-KEY def get_…

媒体邀约分步详解

传媒如春雨,润物细无声,大家好,我是51媒体网 胡老师。 邀请媒体参加活动的有哪些步骤: 活动落地执行:在整个活动方案中,邀请媒体来报道活动,往往会安排在整个活动的中期去做,因此在…

spring-boot集成spring-brick实现动态插件

spring-boot集成spring-brick实现动态插件 spring-boot集成spring-brick实现动态插件 项目结构 & 需求实现spring-boot集成spring-brick 环境说明1. 主程序集成spring-brick 第一步:引入相关依赖第二步:修改程序入口方法第三步:编写配置…

软件测试太卷了,我实在是做不到啊~

前言 本科计算机专业,做了四年软件测试工作,从一开始一脸懵的点点点,到现在会自动化测试了,浅谈一下计算机专业人员从事软件测试的一点点心得体会,仅供参考交流。 如果你本科学的是计算机专业,觉得开发那…

1092 To Buy or Not to Buy (PAT甲级)

1092. To Buy or Not to Buy (20)-PAT甲级真题_柳婼的博客-CSDN博客 柳婼的解法要更清晰一些。 下面是我的解法…… #include <iostream> #include <string>int main(){std::string a, b;bool flag true;int extra, missing;int cntA[62] {0};int cntB[62] {…

银行项目:如何大规模、高效率的做自动化测试

背景 近几年&#xff0c;各家商业银行均在大力发展自动化测试。在这一进程中&#xff0c;自动化测试的设计理念不断完善&#xff0c;新的技术不断应用&#xff0c;使得自动化测试资产的积累代价和维护代价不断降低&#xff0c;自动化测试资产的数量不断增长。 在短短几年间&…

【STM32CubeMX项目】DHT11模块

前言 在我的另一篇里文章里已经介绍过DHT11的时序理论了&#xff0c;这里介绍下&#xff0c;我写DHT11的数据获取的思路和调用。程序验证后&#xff0c;发现下述问题&#xff0c;暂时解决不了&#xff0c;但是还是会把个人的代码流程&#xff0c;函数的编写思路和工程写下&…

通过Python封装接口商品ID获取京东商品历史价格数据,京东历史价格数据,京东API接口

京东商品历史价格数据展示了该商品在一段时间内的价格变化情况&#xff0c;可作为购物决策的重要参考因素。用户可以根据历史价格数据来判断当前商品的价格是否处于一个合理水平&#xff0c;并对接下来的价格趋势进行预测。 京东商品历史价格数据可以在商品详情页面中查看&…

【华为自研】| 国产数据库 GaussDB崛起

目录 GaussDBGaussDB 简介产品优势GaussDB(for openGauss)GaussDB(for MySQL)GaussDB(for Cassandra)GaussDB(for Mongo)GaussDB(for Redis)GaussDB(for Influx) GaussDB GaussDB采用一体化架构&#xff0c;同时支持关系型和非关系型数据库引擎&#xff0c;能够满足政企全方位…

2023面试题合集(建议收藏)

写在前面 个人强烈感觉面试因人而异&#xff0c;对于简历上有具体项目经历的同学&#xff0c;个人感觉面试官会着重让你介绍自己的项目&#xff0c;包括但不限于介绍一次真实攻防/渗透/挖洞/CTF/代码审计的经历 > 因此对于自己的项目&#xff0c;面试前建议做一次复盘&…

125760-30-7,Fmoc-Ser(Ac4Galβ1-3Ac2GalNAcα)-OH,由不同糖的混合物组成,包括单糖和双糖

●常用名&#xff1a;O-[4,6-二-O-乙酰基-2-(乙酰氨基)-2-脱氧-3-O-(2,3,4,6-四-O-乙酰基-BETA-D-吡喃半乳糖基)-ALPHA-D-吡喃半乳糖基]-N-[芴甲氧羰基]-L-丝氨酸 ●英文名&#xff1a;Fmoc-Ser(Ac4Galβ1-3Ac2GalNAcα)-OH●外观以及性质&#xff1a; 陕西新研博美生物科技有限…

基于simulink仿真机械手将负载从一个灰色圆柱形平台移动到另一个平台

一、前言 此示例说明了在 Simulink 3D 动画™模型中使用全局坐标。全局坐标可以在模型中以多种方式用于对象跟踪和操作、简单的碰撞检测、触觉效果模拟等。 二、示例 虚拟世界中对象的全局坐标可通过VR源块获得。对于场景中的每个变换&#xff0c;VR 源块的“参数”对话框中的树…

第一次做SDK测试,做个笔记

一、认识SDK 1、含义 SDK是为客户端提供的特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。如拨打电话&#xff0c;摄像机&#xff0c;视频播放/录制&#xff0c;图片保存&#xff0c;预览图片&#xff0c;刷新窗口&#xff0c;显示成功状态页面…

CnOpenData短视频播主排名数据

一、数据简介 短视频即短片视频&#xff0c;是一种互联网内容传播方式&#xff0c;一般是指在互联网新媒体上传播的时长在5分钟以内的视频。随着网红经济的出现&#xff0c;视频行业逐渐崛起一批优质UGC内容制作者&#xff0c;微博、秒拍、快手、今日头条纷纷入局短视频行业&am…

DevOps实践:持续交付和自动化部署的最佳实践

引言 今天给大家分享一篇有关DevOps实践的文章。 在当今快节奏的软件开发环境中&#xff0c;为了保持竞争力&#xff0c;加速交付和提高质量已经成为必须要做到的事情。而DevOps方法论则是解决这些问题的一种综合性方案。 本文将为您介绍DevOps的最佳实践&#xff0c;包括持…

项目管理过程中常见的错误,您都知道吗?

在项目管理过程中&#xff0c;出现错误是很常见的。这些错误可能会导致项目延误、超支、质量下降&#xff0c;甚至会让整个项目失败。因此&#xff0c;了解这些错误&#xff0c;及时采取措施避免和纠正&#xff0c;是每个项目经理必须掌握的技能。 以下是一些常见的项目管理错…