springboot应用访问zookeeper的流程

作者:程序员欣宸 时间:2021-11-28 00:34:56 

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

本地部署zookeeper

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

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

开发基于spring boot的应用

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

springboot应用访问zookeeper的流程

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

源码在以下位置:

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

选择maven:

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

springboot应用访问zookeeper的流程

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

来源:https://xinchen.blog.csdn.net/article/details/101369239

标签:springboot,访问,zookeeper
0
投稿

猜你喜欢

  • Java fastdfs客户端实现上传下载文件

    2023-11-26 09:45:41
  • Java全面细致讲解==和equals的使用

    2021-08-20 05:28:43
  • 利用Java读取二进制文件实例详解

    2023-07-27 03:25:42
  • Java多线程 两阶段终止模式Two-Phase Termination Patter

    2023-11-29 04:47:04
  • Java网络编程之IO模型阻塞与非阻塞简要分析

    2021-08-10 18:10:25
  • Java字符判断的小例子

    2023-08-26 17:29:49
  • Mybatis初始化知识小结

    2023-11-01 13:59:27
  • Java日期操作方法工具类实例【包含日期比较大小,相加减,判断,验证,获取年份等】

    2023-11-25 12:14:40
  • Java实现树形List与扁平List互转的示例代码

    2023-03-15 00:18:23
  • C#如何将DataTable导出到Excel解决方案

    2022-03-30 18:44:28
  • SpringCloud Gateway HttpWebHandlerAdapter链路调用请求流程介绍

    2023-04-29 00:12:18
  • c#中Invoke与BeginInvoke的用法及说明

    2023-06-10 12:39:49
  • 如何解决springmvc文件下载,内容损坏的问题

    2023-10-11 07:12:10
  • 解析Android开发优化之:对界面UI的优化详解(一)

    2023-05-23 17:45:10
  • Java 静态绑定与动态绑定深入分析

    2021-06-19 05:31:04
  • C#中重载重写和覆盖的定义与区别

    2022-04-23 09:25:34
  • java switch语句使用注意的四大细节

    2022-07-10 10:46:04
  • springboot如何静态加载@configurationProperties

    2021-12-13 16:20:13
  • mybatis-plus 返回部分字段的解决方式

    2023-03-25 14:45:04
  • Java实现快速排序算法的完整示例

    2022-10-15 11:57:40
  • asp之家 软件编程 m.aspxhome.com