溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

springboot應用訪問zookeeper的流程是怎樣的

發(fā)布時間:2022-01-07 14:12:56 來源:億速云 閱讀:170 作者:柒染 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)springboot應用訪問zookeeper的流程是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

本地部署zookeeper

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

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

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

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

springboot應用訪問zookeeper的流程是怎樣的

工程創(chuàng)建后要做的就是修改pom,增加庫的依賴,已經(jīng)添加配置文件,寫java代碼,具體的源碼請在我的git上下載,鏈接

源碼在以下位置:

springboot應用訪問zookeeper的流程是怎樣的

源碼下載下來后,可以通過Intellij IEDA導入,導入的時候以下紅框中的選項需要選中,這樣才能導入maven工程:

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

還要添加對springboot的依賴,以及build時使用springboot對應的插件:

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

選擇maven:

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

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

springboot應用訪問zookeeper的流程是怎樣的

至此,基于spring boot框架訪問zookeeper的demo開發(fā)以及結(jié)束。

上述就是小編為大家分享的springboot應用訪問zookeeper的流程是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI