「小程序JAVA實戰(zhàn)」zookeeper簡介(71)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:「小程序JAVA實戰(zhàn)」zookeeper簡介(71)
上一篇: 「小程序JAVA實戰(zhàn)」小程序的留言和評價功能(70)已是最新文章

如果一個應(yīng)用在操作自身,自身的刪除和添加的方式很容易讓自己知道。如果是小程序后端一個程序,web端一個程序,他們需要進(jìn)行通信。如果彼此之間自動的一致呢。如果是數(shù)據(jù)庫可以通過共用一個數(shù)據(jù)庫的方式,如果是文件就要用到一個工具zookeeper了。

方式多種多樣

  • Springboot開放接口,ssm調(diào)用其完成同步工作。

這樣是有弊端的,耦合度比較高。

  • 使用MQ消息隊列,生產(chǎn)者(SSM)調(diào)用消費者(Springboot)

這個可以達(dá)到解耦的方式

  • 使用Zookeeper,Springboot監(jiān)聽并且下載

使用springboot 將我們小程序的后端,去監(jiān)聽zookeeper的服務(wù),如果我們ssm上傳一個文件,就會像我們的zookeeper server,寫入一個對象寫入一個文本,springboot監(jiān)聽到這個動作,就會下載,像這種就像是一個集群,每個server就相當(dāng)于一個節(jié)點,每個服務(wù)就會監(jiān)聽到我們的節(jié)點,當(dāng)有節(jié)點的寫入或者刪除,springboot就會執(zhí)行操作。

zookeeper 動物管理員

  • 俗語入門

動物園里面有很多的對象,大象,豬,蜜蜂(hadoop,pig,hive)搞過大數(shù)據(jù)的老鐵對著應(yīng)該都有所了解。當(dāng)然zookeeper在分布式系統(tǒng)中也起到了非常大的作用,不僅僅是在大數(shù)據(jù),在java中用到了很多,配合一些中間件,比如solr都是可以相互進(jìn)行配合的。

  • 簡介
  1. 中間件,提供協(xié)調(diào)服務(wù)
  2. 作用于分布式系統(tǒng),發(fā)揮其優(yōu)勢,可以為大數(shù)據(jù)提供服務(wù)。
  3. 支持java,提供java和c語言的客戶端接口api

什么是分布式系統(tǒng)

對外是隱形的,對外是顯形的,內(nèi)部的開發(fā)老鐵肯定是知道有多少臺機器,對于用戶來講我們只點一個按鈕完成這個操作就可以了。

  • 很多臺計算機組成一個整體,一個整體一致對外并且處理同一個請求
  • 內(nèi)部的每臺計算機都可以相互之間通信(rest/rpc)
  • 客戶端到服務(wù)端的一次請求到響應(yīng)結(jié)束會經(jīng)歷多臺計算機(我們在網(wǎng)購的時候,下個單子,可以經(jīng)歷很多,訂單服務(wù),商品服務(wù),支付服務(wù)。一連串的服務(wù)完成下單的所有流程,組成的整體的分布式系統(tǒng))

zookeeper的常用java客戶端

  • 原生api

使用起來相對麻煩,不是很方便。
超時重連,不支持自動,需要手動操作。
watch注冊一次后會失效,只能注冊一次,監(jiān)聽一次。
不支持遞創(chuàng)建節(jié)點

  • zkclient

國外的IT高手合作開發(fā)的,只不過相對來說維護(hù)的頻率不是很高,已經(jīng)很久不維護(hù)了。使用的人比較少

  • Apache curator

非常好用的java客戶端。
Apache的開源項目
解決watcher的注冊一次就失效的問題
Api更加簡單方便
提供更多提供方案并且實現(xiàn)簡單:比如分布式鎖。
提供常用的zookeeper工具類
編程風(fēng)格更爽,函數(shù)式的編程

Apache curator如何創(chuàng)建的客戶端

  • 創(chuàng)建重試策略 - retryPolicy

  • 創(chuàng)建客戶端 - client

  • 初始化客戶端

PS:下次通過代碼的形式來說下,了解下如何創(chuàng)建客戶端

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容