文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

springboot应用访问zookeeper的流程

2024-04-02 19:55

关注

本文讲解了如果通过springboot快速开发web服务,并读取zookeeper的过程,为后续的“在docker下部署dubbo服务“做准备工作,本文相关的操作都在mac上进行的,文中有些目录和windows有些区别,请各位注意对应自己的电脑做对应的修改。

本地部署zookeeper

首先去官网下载zookeeper包,推荐使用稳定版3.3.6

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

640?wx_fmt=png

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

开发基于spring boot的应用

打开IntelliJ IDEA CE,创建名为zookeeperdemo的Maven工程,指定模板,如下图:

640?wx_fmt=png

工程创建后要做的就是修改pom,增加库的依赖,已经添加配置文件,写java代码,具体的源码请在我的git上下载,链接

源码在以下位置:

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

选择maven:

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯