欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

zookeeper在項目中的實際應(yīng)用-創(chuàng)新互聯(lián)

ZooKeeper所提供的服務(wù)主要是通過:數(shù)據(jù)結(jié)構(gòu)Node+原語+watcher機(jī)制

創(chuàng)新互聯(lián)是專業(yè)的萬安網(wǎng)站建設(shè)公司,萬安接單;提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行萬安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

ZooKeeper是一個分布式小文件系統(tǒng),通過選舉算法和集群復(fù)制可以避免單點故障,

由于是文件系統(tǒng),所以即使所有的ZooKeeper節(jié)點全部掛掉,數(shù)據(jù)也不會丟失,

重啟服務(wù)器之后,數(shù)據(jù)即可恢復(fù)。

ZooKeeper所實現(xiàn)的一切功能,都是由ZK節(jié)點的性質(zhì)和該節(jié)點所關(guān)聯(lián)的數(shù)據(jù)實現(xiàn)的,

至于關(guān)聯(lián)什么數(shù)據(jù)那就要看你干什么事了

① 集群管理:利用臨時節(jié)點特性,節(jié)點關(guān)聯(lián)的是機(jī)器的主機(jī)名、IP地址等相關(guān)信息,集群單點故障也屬于該范疇。

② 統(tǒng)一命名:主要利用節(jié)點的唯一性和目錄節(jié)點樹結(jié)構(gòu)。

③ 配置管理:節(jié)點關(guān)聯(lián)的是配置信息。

④ 分布式鎖:節(jié)點關(guān)聯(lián)的是要競爭的資源。

以下為項目中的實際應(yīng)用

1.利用watcher機(jī)制

vqsapi 往6個接口發(fā)數(shù)據(jù)的時候,可以用zookeeper來監(jiān)控目前存活的mongodb與api,

vqsapi 動態(tài)獲取,往mongodb與api都存活的接口發(fā)數(shù)據(jù)

2.利用臨時節(jié)點的特性

運維接口探測,可以每個服務(wù)器在zookeeper注冊一個臨時節(jié)點,當(dāng)接口掛了時候,

session斷開,達(dá)到監(jiān)控的目的

3.利用節(jié)點唯一性的特性

分布式鎖,同時操作同一資源,可能出現(xiàn)并發(fā)問題時候,上一把鎖

因為原生的zookeeper 語句比較繁瑣,難以理解,所以curator 框架很好的實現(xiàn)了,下面為加鎖操作

String path = String.format(LockPathScheme.STRATEGY_MODEL_ROUTE, modelId, isp,province,value);
       
	   //加鎖操作
       CuratorFramework curator = CuratorFrameworkFactory.builder().retryPolicy(new ExponentialBackoffRetry(10000, 3)).connectString(zookeeperserver).build();
       curator.start();
       InterProcessMutex lock = new InterProcessMutex(curator, path);
       try {
    	   boolean b = lock.acquire(3, TimeUnit.SECONDS);
    	   if (!b) {
    		   resultMap.put("statusCode", 300);
              resultMap.put("message", "記錄正在被操作!");
              return resultMap;
           }
           //加鎖后,該干嘛干嘛了
    	    resultMap = this.strategyRoute_dnspod_save_detail(request, id, modelId, modelName, category, province, isp, containCname, type, remark, node, value, ttl, weight, status,customerViewId);
    	   return resultMap;
    	   
       }catch(Exception e){
	    	   e.printStackTrace();
	    	   resultMap.put("statusCode", 300);
	           resultMap.put("message", "內(nèi)部錯誤!");
	           return resultMap;
       }finally {
       
          //記得一定要釋放鎖
    	   try{
               lock.release();
           }catch (Exception e){
               System.out.println(path + "釋放鎖失敗" + e);
           }
            CloseableUtils.closeQuietly(curator);
       }

最后上一個非常完美的例子,很好的使用了zookeeper 框架的各種特性

轉(zhuǎn)自  http://www.cnblogs.com/wuxl360/p/5817549.html

假設(shè)我們的集群有:

(1) 20個搜索引擎的服務(wù)器:每個負(fù)責(zé)總索引中的一部分的搜索任務(wù)。

① 搜索引擎的服務(wù)器中的15個服務(wù)器現(xiàn)在提供搜索服務(wù)。

② 5個服務(wù)器正在生成索引。

這20個搜索引擎的服務(wù)器,經(jīng)常要讓正在提供搜索服務(wù)的服務(wù)器停止提供服務(wù)開始生成索引,或生成索引的服務(wù)器已經(jīng)把索引生成完成可以搜索提供服務(wù)了。

(2) 一個總服務(wù)器:負(fù)責(zé)向這20個搜索引擎的服務(wù)器發(fā)出搜索請求并合并結(jié)果集。

(3) 一個備用的總服務(wù)器:負(fù)責(zé)當(dāng)總服務(wù)器宕機(jī)時替換總服務(wù)器。

(4) 一個web的cgi:向總服務(wù)器發(fā)出搜索請求。

使用Zookeeper可以保證:

(1) 總服務(wù)器:自動感知有多少提供搜索引擎的服務(wù)器,并向這些服務(wù)器發(fā)出搜索請求。

(2) 備用的總服務(wù)器:宕機(jī)時自動啟用備用的總服務(wù)器。

(3) web的cgi:能夠自動地獲知總服務(wù)器的網(wǎng)絡(luò)地址變化。

(4) 實現(xiàn)如下:

① 提供搜索引擎的服務(wù)器都在Zookeeper中創(chuàng)建znode,zk.create("/search/nodes/node1", "hostname".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateFlags.EPHEMERAL);

② 總服務(wù)器可以從Zookeeper中獲取一個znode的子節(jié)點的列表,zk.getChildren("/search/nodes", true);

③ 總服務(wù)器遍歷這些子節(jié)點,并獲取子節(jié)點的數(shù)據(jù)生成提供搜索引擎的服務(wù)器列表;

④ 當(dāng)總服務(wù)器接收到子節(jié)點改變的事件信息,重新返回第二步;

⑤ 總服務(wù)器在Zookeeper中創(chuàng)建節(jié)點,zk.create("/search/master", "hostname".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateFlags.EPHEMERAL);

⑥ 備用的總服務(wù)器監(jiān)控Zookeeper中的"/search/master"節(jié)點。當(dāng)這個znode的節(jié)點數(shù)據(jù)改變時,把自己啟動變成總服務(wù)器,并把自己的網(wǎng)絡(luò)地址數(shù)據(jù)放進(jìn)這個節(jié)點。

⑦ web的cgi從Zookeeper中"/search/master"節(jié)點獲取總服務(wù)器的網(wǎng)絡(luò)地址數(shù)據(jù),并向其發(fā)送搜索請求。

⑧ web的cgi監(jiān)控Zookeeper中的"/search/master"節(jié)點,當(dāng)這個znode的節(jié)點數(shù)據(jù)改變時,從這個節(jié)點獲取總服務(wù)器的網(wǎng)絡(luò)地址數(shù)據(jù),并改變當(dāng)前的總服務(wù)器的網(wǎng)絡(luò)地址。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:zookeeper在項目中的實際應(yīng)用-創(chuàng)新互聯(lián)
URL鏈接:http://aaarwkj.com/article0/cdheio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站策劃、標(biāo)簽優(yōu)化外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
长腿丝袜美女亚洲一区二区| 日本97久久久久久精品| 日韩有码一区在线观看| 国产三级在线dvd观看| 成人黄色av免费在线观看| 亚洲伊人av第一页在线观看| 欧美美女午夜福利视频| 97色伦综合在线欧美| 国产老熟女高潮一区二区| 高质量的性生活在线观看| 日本熟女视频免费观看| 国产精品三级国产精品高| 四虎最新地址在线观看| 精品亚洲韩国一区二区三区| 给我搜一个一级黄色片| 亚洲一级香蕉视频东京热| 日韩一二区不卡在线视频| 亚洲最大五月六月丁香婷婷| 狼人私人影院在线观看| 日韩在线一区二区三区电影| 国产又猛又黄又爽无遮挡| 日韩人成理论午夜福利| 男人的天堂久久精品激情| 中文字幕国产精品资源| 高潮少妇水多毛多av| 免费观看国产裸体视频| 日本丝袜福利在线观看| 精品国产不卡在线观看| 日本成人一区二区三区在线| 亚洲淫婷婷久久一区二区| 日韩激情一区二区三区| 欧美日韩亚洲精品综合网| 亚洲综合色视频免费在线播放| 日本精品a秘在线观看| 国产精品第一区第二区| 亚洲天堂免费在线播放| 国产熟女系列一区二区三区| 热久久精品只有这里有| 欧美日韩在线不卡成人| 亚洲国产一区二区三区三州| 男人自拍天堂在线观看|