使用Zookeeper完成對數據庫配置的管理


每台機器的應用程序都需要連接數據庫,而數據庫的配置信息(連接信息),這時候放在機器本地的話不方面(機器多,需要一個個改配置信息),這就用到Zookeeper,把數據庫的配置信息放到配置中心,利用Zookeeper節點可以存儲數據的特性,然后各台機器可以使用JavaAPI去獲取Zookeeper中數據庫的配置信息。每一個應用都在Zookeeper節點注冊監聽器,一旦節點信息改變,各台機器就獲取信息,使用最新的信息連接數據庫,這樣優點一是方便了管理(只放置一份數據在配置中心,沒必要放到多個機器上去),二是一旦配置改了,就做一個發布的動作即可。
ConfigPublisher.java這個配置中心,負責更改配置,發布到Zookeeper服務上,配置內容:driverClassName=com.mysql.jdbc.Driver&url=jdbc:mysql://192.168.100.133:3306/mydatabase&username=root&password=root
DistributeApp.java內部方法中設置Zookeeper服務上對應監聽器,時刻監聽配置信息的變化,並更新本地配置
然后打包項目並上傳到hadoop-twq用戶的根目錄下cd ~,然后同步到slave1、slave2上:
scp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar hadoop-twq@slave1:~/
scp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar hadoop-twq@slave2:~/
然后運行:
java -cp zookeeper-course-1.0-SNAPSHOT-jar-with-dependencies.jar com.twq.zk.usage.config.DistributeApp
這樣機器就會時時刻刻監聽Zookeeper中配置信息,並將配置信息解析出來。每當執行ConfigPublisher.java后都會將配置信息上傳到Zookeeper,而各個機器節點就會檢測到配置信息的變化,並且同步顯示出來,以及將配置信息格式化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM