成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

干貨|Kafka在大數(shù)據(jù)環(huán)境中的應(yīng)用

大數(shù)據(jù) Kafka
我們生活在一個(gè)數(shù)據(jù)爆炸的時(shí)代,數(shù)據(jù)的巨量增長(zhǎng)給我們的業(yè)務(wù)處理帶來了壓力,同時(shí)巨量的數(shù)據(jù)也給我們帶來了十分可觀的財(cái)富。隨著大數(shù)據(jù)將各個(gè)行業(yè)用戶、運(yùn)營(yíng)商、服務(wù)商的數(shù)據(jù)整合進(jìn)大數(shù)據(jù)環(huán)境,或用戶取用大數(shù)據(jù)環(huán)境中海量的數(shù)據(jù),業(yè)務(wù)平臺(tái)間的消息處理將變得尤為復(fù)雜。如何高效地采集、使用數(shù)據(jù),如何減輕各業(yè)務(wù)系統(tǒng)的壓力,也變得越來越突出。

[[189864]]

我們生活在一個(gè)數(shù)據(jù)爆炸的時(shí)代,數(shù)據(jù)的巨量增長(zhǎng)給我們的業(yè)務(wù)處理帶來了壓力,同時(shí)巨量的數(shù)據(jù)也給我們帶來了十分可觀的財(cái)富。隨著大數(shù)據(jù)將各個(gè)行業(yè)用戶、運(yùn)營(yíng)商、服務(wù)商的數(shù)據(jù)整合進(jìn)大數(shù)據(jù)環(huán)境,或用戶取用大數(shù)據(jù)環(huán)境中海量的數(shù)據(jù),業(yè)務(wù)平臺(tái)間的消息處理將變得尤為復(fù)雜。如何高效地采集、使用數(shù)據(jù),如何減輕各業(yè)務(wù)系統(tǒng)的壓力,也變得越來越突出。在早期的系統(tǒng)實(shí)現(xiàn)時(shí),業(yè)務(wù)比較簡(jiǎn)單。即便是數(shù)據(jù)量、業(yè)務(wù)量比較大,大數(shù)據(jù)環(huán)境也能做出處理。但是隨著接入的系統(tǒng)增多,數(shù)據(jù)量、業(yè)務(wù)量增大,大數(shù)據(jù)環(huán)境、業(yè)務(wù)系統(tǒng)都可出現(xiàn)一定的瓶頸。下面我們看幾個(gè)場(chǎng)景。

場(chǎng)景一:我們開發(fā)過一個(gè)設(shè)備信息挖掘平臺(tái)。這個(gè)平臺(tái)需要實(shí)時(shí)將采集互聯(lián)網(wǎng)關(guān)采集到的路由節(jié)點(diǎn)的狀態(tài)信息存入數(shù)據(jù)中心。通常一個(gè)網(wǎng)關(guān)一次需要上報(bào)幾十甚至幾百個(gè)變化的路由信息。全區(qū)有幾萬(wàn)個(gè)這種互聯(lián)網(wǎng)關(guān)。當(dāng)信息采集平臺(tái)將這些變化的數(shù)據(jù)信息寫入或更新到數(shù)據(jù)庫(kù)時(shí)候,會(huì)給數(shù)據(jù)庫(kù)代理非常大的壓力,甚至可以直接將數(shù)據(jù)庫(kù)搞掛掉。這就對(duì)我們的數(shù)據(jù)采集系統(tǒng)提出了很高的要求。如何穩(wěn)定高效地把消息更新到數(shù)據(jù)庫(kù)這一要求擺了出來。

場(chǎng)景二:數(shù)據(jù)中心處理過的數(shù)據(jù)需要實(shí)時(shí)共享給幾個(gè)不同的機(jī)構(gòu)。我們常采用的方法是將數(shù)據(jù)批量存放在數(shù)據(jù)采集機(jī),分支機(jī)構(gòu)定時(shí)來采集;或是分支機(jī)構(gòu)通過JDBC、RPC、http或其他機(jī)制實(shí)時(shí)從數(shù)據(jù)中心獲取數(shù)據(jù)。這兩種方式都存在一定的問題,前者在于實(shí)時(shí)性不足,還牽涉到數(shù)據(jù)完整性問題;后者在于,當(dāng)數(shù)據(jù)量很大的時(shí)候,多個(gè)分支機(jī)構(gòu)同時(shí)讀取數(shù)據(jù),會(huì)對(duì)數(shù)據(jù)中心的造成很大的壓力,也造成很大的資源浪費(fèi)。

為了解決以上場(chǎng)景提出的問題,我們需要這樣一個(gè)消息系統(tǒng):

緩沖能力,系統(tǒng)可以提供一個(gè)緩沖區(qū),當(dāng)有大量數(shù)據(jù)來臨時(shí),系統(tǒng)可以將數(shù)據(jù)可靠的緩沖起來,供后續(xù)模塊處理;

訂閱、分發(fā)能力,系統(tǒng)可以接收消息可靠的緩存下來,也可以將可靠緩存的數(shù)據(jù)發(fā)布給使用者。

這就要我們找一個(gè)高吞吐的、能滿足訂閱發(fā)布需求的系統(tǒng)。

Kafka是一個(gè)分布式的、高吞吐的、基于發(fā)布/訂閱的消息系統(tǒng)。利用kafka技術(shù)可以在廉價(jià)PC Server上搭建起大規(guī)模的消息系統(tǒng)。Kafka具有消息持久化、高吞吐、分布式、實(shí)時(shí)、低耦合、多客戶端支持、數(shù)據(jù)可靠等諸多特點(diǎn),適合在線和離線的消息處理。

使用kafka解決我們上述提到的問題。

 

互聯(lián)網(wǎng)關(guān)采集到變化的路由信息,通過kafka的producer將歸集后的信息批量傳入kafka。Kafka按照接收順序?qū)w集的信息進(jìn)行緩存,并加入待消費(fèi)隊(duì)列。Kafka的consumer讀取隊(duì)列信息,并一定的處理策略,將獲取的信息更新到數(shù)據(jù)庫(kù)。完成數(shù)據(jù)到數(shù)據(jù)中心的存儲(chǔ)。

數(shù)據(jù)中心的數(shù)據(jù)需要共享時(shí),kafka的producer先從數(shù)據(jù)中心讀取數(shù)據(jù),然后傳入kafka緩存并加入待消費(fèi)隊(duì)列。各分支結(jié)構(gòu)作為數(shù)據(jù)消費(fèi)者,啟動(dòng)消費(fèi)動(dòng)作,從kafka隊(duì)列讀取數(shù)據(jù),并對(duì)獲取的數(shù)據(jù)進(jìn)行處理。

Kafka生產(chǎn)的代碼如下:

  1. public void produce(){      
  2.  
  3.                    //生產(chǎn)消息預(yù)處理 
  4.  
  5.         produceInfoProcess();        
  6.  
  7.         pro.send(ProducerRecord,new Callback(){ 
  8.  
  9.                             @Override 
  10.  
  11.                             onCompletion() { 
  12.  
  13.                                      if (metadata == null) { 
  14.  
  15.                                                // 發(fā)送失敗 
  16.  
  17.                                                failedSend(); 
  18.  
  19.                                      } else { 
  20.  
  21.                                                //發(fā)送成功!"  
  22.  
  23.                                                successedSend();      
  24.  
  25.  
  26.                             }                       
  27.  
  28.               });   
  29.  
  30.      }  

消息生產(chǎn)者根據(jù)需求,靈活定義produceInfoProcess()方法,對(duì)相關(guān)數(shù)據(jù)進(jìn)行處理。并依據(jù)數(shù)據(jù)發(fā)布到kafka的情況,處理回調(diào)機(jī)制。在數(shù)據(jù)發(fā)送失敗時(shí),定義failedSend()方法;當(dāng)數(shù)據(jù)發(fā)送成功時(shí),定義successedSend()方法。

Kafka消費(fèi)的代碼如下:

  1. public void consumer() { 
  2.  
  3.                        //配置文件 
  4.  
  5.             properties(); 
  6.  
  7.             //獲取當(dāng)前數(shù)據(jù)的迭代器 
  8.  
  9.             iterator = stream.iterator(); 
  10.  
  11.             while (iterator.hasNext()) { 
  12.  
  13.                 //取出消息 
  14.  
  15.                 MessageAndMetadata<byte[], byte[]> next = iterator.next(); 
  16.  
  17.                 messageProcess(); 
  18.  
  19.                  }       
  20.  
  21.     }  

Kafka消費(fèi)者會(huì)和kafka集群建立一個(gè)連接。從kafka讀取數(shù)據(jù),調(diào)用messageProcess()方法,對(duì)獲取的數(shù)據(jù)靈活處理。

結(jié)論

Kafka的高吞吐能力、緩存機(jī)制能有效的解決高峰流量沖擊問題。實(shí)踐表明,在未將kafka引入系統(tǒng)前,當(dāng)互聯(lián)網(wǎng)關(guān)發(fā)送的數(shù)據(jù)量較大時(shí),往往會(huì)掛起關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)常常丟失。在引入kafka后,更新程序能夠結(jié)合能力自主處理消息,不會(huì)引起數(shù)據(jù)丟失,關(guān)系型數(shù)據(jù)庫(kù)的壓力波動(dòng)不會(huì)發(fā)生過于顯著的變化,不會(huì)出現(xiàn)數(shù)據(jù)庫(kù)掛起鎖死現(xiàn)象。

依靠kafka的訂閱分發(fā)機(jī)制,實(shí)現(xiàn)了一次發(fā)布,各分支依據(jù)需求自主訂閱的功能。避免了各分支機(jī)構(gòu)直接向數(shù)據(jù)中心請(qǐng)求數(shù)據(jù),或者數(shù)據(jù)中心依次批量向分支機(jī)構(gòu)傳輸數(shù)據(jù)以致實(shí)時(shí)性不足的情況。kafka提高了實(shí)時(shí)性,減輕了數(shù)據(jù)中心的壓力,提高了效率。 

責(zé)任編輯:龐桂玉 來源: 九次方大數(shù)據(jù)
相關(guān)推薦

2019-02-20 17:49:32

大數(shù)據(jù)應(yīng)急管理數(shù)據(jù)分析

2022-04-07 12:02:22

區(qū)塊鏈大數(shù)據(jù)數(shù)據(jù)中心

2013-11-19 10:42:45

大數(shù)據(jù)Chef

2023-03-10 07:30:24

2018-10-24 14:36:59

2019-01-16 15:14:14

大數(shù)據(jù)無錫廣電智慧無錫

2021-12-02 15:17:42

大數(shù)據(jù)銀行應(yīng)用

2024-07-08 09:11:53

MongoDBAI大數(shù)據(jù)

2017-04-12 09:49:54

大數(shù)據(jù)應(yīng)用預(yù)測(cè)性維修

2019-02-28 22:21:49

大數(shù)據(jù)醫(yī)療業(yè)安全

2021-11-10 19:11:18

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用;農(nóng)村發(fā)展

2018-01-02 12:20:23

農(nóng)業(yè)大數(shù)據(jù)農(nóng)產(chǎn)品

2017-05-10 16:10:28

Kafka大數(shù)據(jù)數(shù)據(jù)庫(kù)

2013-04-26 16:26:14

大數(shù)據(jù)全球技術(shù)峰會(huì)

2020-12-25 13:51:49

大數(shù)據(jù)醫(yī)療大數(shù)據(jù)

2020-03-22 15:49:27

Kafka馬蜂窩大數(shù)據(jù)平臺(tái)

2020-01-03 09:53:36

Kafka集群優(yōu)化

2021-09-08 17:17:43

大數(shù)據(jù)智慧城市大數(shù)據(jù)應(yīng)用

2017-06-21 17:04:23

大數(shù)據(jù)

2020-11-17 14:50:34

大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产高清性xxxxxxxx | 国产一级在线观看 | 色婷婷综合久久久中字幕精品久久 | 一区二区三区国产 | 日韩三区 | 久久高清国产视频 | 国产一区亚洲 | 久久久久久久一区二区 | 精品日韩欧美一区二区 | 欧美一级淫片007 | 亚洲福利网站 | 天堂资源最新在线 | 色网在线播放 | re久久| av免费网站在线观看 | 欧美日韩综合视频 | 欧美综合一区二区三区 | 亚洲精品国产一区 | 男人天堂久久久 | 欧美一区中文字幕 | 欧美一级淫片免费视频黄 | 日韩免费视频一区二区 | 日韩精品1区2区 | 国产高清一区二区 | 国产精品久久在线 | 亚洲一区二区中文字幕 | 欧美成人免费在线 | 日韩高清一区 | 九九久久国产 | 99成人精品| 亚洲色片网站 | 久久久久久综合 | 国产精品久久久久久久一区探花 | 欧美激情综合 | 国产成人一区二区三区久久久 | 国产视频1区| a久久| 久久久久国产精品 | 黄瓜av | 欧美精品在线一区二区三区 | 国产欧美日韩精品一区 |