亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

springboot應(yīng)用訪問zookeeper的流程

 更新時(shí)間:2022年01月07日 11:45:06   作者:程序員欣宸  
這篇文章主要介紹了springboot應(yīng)用訪問zookeeper的流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

本文講解了如果通過springboot快速開發(fā)web服務(wù),并讀取zookeeper的過程,為后續(xù)的“在docker下部署dubbo服務(wù)“做準(zhǔn)備工作,本文相關(guān)的操作都在mac上進(jìn)行的,文中有些目錄和windows有些區(qū)別,請(qǐng)各位注意對(duì)應(yīng)自己的電腦做對(duì)應(yīng)的修改。

本地部署zookeeper

首先去官網(wǎng)下載zookeeper包,推薦使用穩(wěn)定版3.3.6

下載后在本地解壓,進(jìn)入zookeeper-3.3.6/conf目錄下,將zoo_sample.cfg文件改名為zoo.cfg,再用文本編輯器打開這個(gè)文件,修改如下紅框位置的內(nèi)容,改成本地一個(gè)可以訪問的已有目錄:

640?wx_fmt=png

打開命令行窗口,進(jìn)入zookeeper-3.3.6/bin目錄,windows下執(zhí)行zkServer.cmd status,mac和linux下執(zhí)行./zkServer.sh status,該命令是查看當(dāng)前zookeeper的狀態(tài),由于還沒有啟動(dòng)zookeeper,我們會(huì)看到如下錯(cuò)誤信息:

640?wx_fmt=png

現(xiàn)在啟動(dòng)zookeeper吧,windows下執(zhí)行zkServer.cmd start,mac和linux下執(zhí)行./zkServer.sh start,啟動(dòng)信息如下:

640?wx_fmt=png

這時(shí)候輸入zkServer.cmd status,看到的結(jié)果如下:

640?wx_fmt=png

可以看到zookeeper正在以standalone模式運(yùn)行中;

現(xiàn)在我們用客戶端命令來試試服務(wù),windows下執(zhí)行zkCli.cmd, mac和linux下執(zhí)行./zkCli.sh,連接上服務(wù)端:

640?wx_fmt=png

執(zhí)行create /node1 abc創(chuàng)建一個(gè)znode,對(duì)應(yīng)的value是"abc",再執(zhí)行g(shù)et /node1可以查看/node_1的value,如下圖:

640?wx_fmt=png

關(guān)于zookeeper的安裝和驗(yàn)證就寫到這里了,接下來我們開始開發(fā)應(yīng)用來訪問這個(gè)zookeeper節(jié)點(diǎn)的數(shù)據(jù)。

開發(fā)基于spring boot的應(yīng)用

打開IntelliJ IDEA CE,創(chuàng)建名為zookeeperdemo的Maven工程,指定模板,如下圖:

640?wx_fmt=png

工程創(chuàng)建后要做的就是修改pom,增加庫的依賴,已經(jīng)添加配置文件,寫java代碼,具體的源碼請(qǐng)?jiān)谖业膅it上下載,鏈接

源碼在以下位置:

640?wx_fmt=png

源碼下載下來后,可以通過Intellij IEDA導(dǎo)入,導(dǎo)入的時(shí)候以下紅框中的選項(xiàng)需要選中,這樣才能導(dǎo)入maven工程:

640?wx_fmt=png

整個(gè)工程非常簡單,首先是pom文件,依賴的父工程要用spring-boot-starter-parent:

640?wx_fmt=png

還要添加對(duì)springboot的依賴,以及build時(shí)使用springboot對(duì)應(yīng)的插件:

640?wx_fmt=png

在resource目錄增加application.properties文件配置一些重要的參數(shù),例如日志目錄,web server端口等,如下圖:

640?wx_fmt=png

最后是寫java代碼,由于只是個(gè)demo,這里的代碼非常簡單,一個(gè)入口,一個(gè)controller,入口如下:

640?wx_fmt=png

controller如下,是一個(gè)簡單的rest響應(yīng),鏈接zookeeper取得znode節(jié)點(diǎn)的值然后返回,注意由于申明了RestController,所以返回的內(nèi)容非頁面而是字符串:

640?wx_fmt=png

至此,編碼結(jié)束,來試試吧,如下圖新建一個(gè)命令:

640?wx_fmt=png

選擇maven:

640?wx_fmt=png

命令內(nèi)容為clean package -U -Dmaven.test.skip=true spring-boot:run,如下:

640?wx_fmt=png

命令創(chuàng)建完成后,點(diǎn)擊“run“執(zhí)行:

640?wx_fmt=png

此時(shí)打開瀏覽器,輸入http://localhost:2222/zkget即可得到我們?cè)趜ookeeper上設(shè)置的/node_1的value,如下圖:

640?wx_fmt=png

至此,基于spring boot框架訪問zookeeper的demo開發(fā)以及結(jié)束,后面我們嘗試通過Dockerfile的方式制作zookeeper的鏡像,然后通過docker的容器提供zookeeper的服務(wù)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論