分布式消息隊列 Kafka

分布式消息隊列 Kafka

Kafka是一個高吞吐量的、分布式的消息系統,由Linkedin開發,開發語言為scala

具有高吞吐、可擴展、分布式等特點

適用場景


活動數據統計

活動數據包括頁面訪問量(Page View)、被查看內容方面的信息、搜索情況等內容

先以日志的形式存儲,然后周期性地對這些文件進行統計分析

運營數據統計

收集服務器的性能數據(CPU、內存、IO使用率 ……),之后進行統計


Linkedin就是基于這類需求開發出了Kafka,所以kafka最適合的場景為

一個日志集群,各種服務器將它們自身的日志發送到集群中進行統一匯總和存儲,然后其它機器從集群中拉取消息進行分析處理,數據挖掘

整體架構


kafka體系包括以下部分:

(1)生產者 Producer

?

(2)broker集群

?

(3)話題 Topic(可以理解為queue)

?

(4)消費者 Consumer

?

(5)Zookeeper集群

?


可以在Kafka中創建多個Topic,Producer向Topic中發送消息,Consumer從Topic中獲取消息




為了高效的讀寫消息,topic都被切分為多個分區partition,放入不同的broker中

topic的partition類似于數據庫的分表,可以根據消息的key進行分區

?

例如key為userid,可以根據userid進行分組,把不同userid段的消息放入不同的partition,提高讀寫性能

為了保證高可用性,每個partition都有多個備份,分別保存在不同的broker中

其中有一個partition為leader,負責讀寫,其余的為slave,當leader失效時,會從slave中再選舉出一個leader




每個partition也不是一個獨立的文件,被分為了多個片段segment




Kafka通過Zookeeper管理集群配置,選舉leader




應用示例


需求

監控用戶交易行為,當交易金額過大時,標識出異常

實現

轉載于:https://www.cnblogs.com/jun1019/p/6260580.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259764.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

漫游飛行_手機“飛行模式”為何沒被淘汰?內行人坦言:其實是你不會用!

隨著科技的不斷創新,目前市面上出現的手機款式多種多樣,品牌也非常多,有華為、蘋果、三星和小米等等。手機的屏幕也是五花八門,有劉海屏、水滴全面屏等,這些屏幕之間都各有不同。而且手機的更新換代速度很快&#xff0…

multiselect多選下拉框

具體實現 <input type"hidden" id"q_dueDay" name"q_dueDay" value"${baseQueryBean.q_dueDay}">//這個為隱藏域后臺直接使用這個為參數 <select id"example" name"example" multiple"multiple&qu…

序列元素IT面試題——判斷合法出棧序列

本文純屬個人見解&#xff0c;是對前面學習的總結&#xff0c;如有描述不正確的地方還請高手指正~ 在技巧筆試口試上&#xff0c;我們常常會碰到這樣一類題型&#xff0c;如給你一個入棧序列&#xff0c;然后再讓你判斷幾個序列是否有可能為它的出棧序列&#xff0c;如&#xf…

scikit-learn點滴

scikit-learn點滴 scikit-learn是非常漂亮的一個機器學習庫,在某些時候,使用這些庫能夠大量的節省你的時間,至少,我們用Python,應該是很難寫出速度快如斯的代碼的. scikit-learn官方出了一些文檔,但是個人覺得,它的文檔很多東西都沒有講清楚,它說算法原理的時候,只是描述一下,除…

background image

http://www.ajaxblender.com/bgstretcher-2-jquery-stretch-background-plugin-updated.html http://blog.dvxj.com/pandola/jQuery_bgStretcher.html 轉載于:https://www.cnblogs.com/eebb/p/4077231.html

怎樣搭建Android開發平臺(轉)

Android是基于Linux內核的軟件平臺和操作系統&#xff0c;是Google在2007年11月5日公布的手機系統平臺&#xff0c;早期由Google開發&#xff0c;后由開放手機聯盟&#xff08;Open Handset Alliance&#xff09;開發。 它采用了軟件堆層&#xff08;software stack&#xff0c…

mvn deploy 推送到私有倉庫,注意當前日期

由于更改了本機系統時間到過去的一個時間&#xff0c;導致mvn deploy推送到私有倉庫后&#xff0c;該更新的jar包時間戳比較舊&#xff0c;客戶端不能更新得到新的jar包。轉載于:https://www.cnblogs.com/silva/p/6264458.html

我的世界1.7.10java32位_我的世界1.7.10中文版

不知道怎么下載&#xff1f;點我游戲介紹《我的世界1.7.10》中整個世界由各種方塊構成&#xff0c;玩家可以破壞它們&#xff0c;也可以用自己的方塊隨意建造東西。為了在游戲里生存和發展&#xff0c;玩家需要通過伐木、挖礦、捕獵等方式獲取資源&#xff0c;并通過合成系統打…

python程序在函數內執行得更快

http://www.cnblogs.com/nepaul/archive/2012/07/15/2592179.html 為什么Python程序在函數內執行得更快&#xff1f;&#xff08;來源StackOverflow&#xff09; 考慮下面的代碼&#xff0c;一個在函數體內&#xff0c;一個是全局的代碼。 函數內的代碼執行效率為 1.8s 1234def…

USER_EXIT

1、md04的用戶出口 M61X0002 2、me21n/me22n的用戶出口 MM06E005 MBCF0002 3、migo 的用戶出口&#xff1a; MBCF0009 MBCF0002-> EXIT_SAPMM07M_001 4、co11n 的用戶出口&#xff0c;發料不足不允許報工時 EXIT_SAPLCORF_104 查找用戶出口的函數&#xff1a; MODX_FUNCTION…

subject.login(token)是如何確認賬號密碼的_教你如何刪除、關閉、注銷微信小程序...

微信小程序是我們日常生活中經常會接觸到的工具&#xff0c;打開小程序后&#xff0c;它就會留在我們微信的”“發現-小程序”欄。很多人并不知道該如何刪除、關閉小程序&#xff0c;所以今天就跟大家科普下相關問題。1.如何刪除小程序首先&#xff0c;打開微信界面&#xff0c…

上海交通大學2006年數學分析考研試題

轉載于:https://www.cnblogs.com/zhangzujin/p/4078900.html

saltstack 基礎入門文檔

saltstack 和 Puppet Chef 一樣可以讓你同時在多臺服務器上執行命令也包括安裝和配置軟件。Salt 有兩個主要的功能&#xff1a;配置管理和遠程執行。這里講述了saltstack的基本使用方法。 saltstack 簡述 Salt 和 Puppet Chef 一樣可以讓你同時在多臺服務器上執行命令也包括安裝…

出現的是亂碼_cad狀態欄出現了方框亂碼怎么辦?

左下角閱讀原文看CAD視頻好課推薦&#xff1a;1、CAD2014&#xff1a;點擊查看 2、室內&全屋&#xff1a;點擊查看 3、CAD2019&#xff1a;點擊查看4、CAD2018&#xff1a;點擊查看5、Bim教程&#xff1a;點擊查看6、室內手繪&#xff1a;點擊查看7、CAD三維&#xff1a;點…

UILabel 詳解

UILabel 多行文字自動換行 &#xff08;自動折行&#xff09;1.UIView *footerView [[UIView alloc] initWithFrame:CGRectMake(10, 100, 300, 180)]; 2. UILabel *label [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; 3. label.text "…

mysql創建數據庫指定字符集

mysql 創建 數據庫時指定編碼很重要&#xff0c;很多開發者都使用了默認編碼&#xff0c;但是我使用的經驗來看&#xff0c;制定數據庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。 我們遵循的標準是&#xff0c;數據庫&#xff0c;表&#xff0c;字段和頁面或文本的編碼…

onclick實現超鏈接_給超鏈接加onclick事件

在動態網頁中&#xff0c;常常需要在單擊超鏈接時處理一些數據&#xff0c;而不是跳轉一個網頁。在這種情況下&#xff0c;通常有以下三種處理方式&#xff1a;不設置標簽的href屬性&#xff0c;只設置onclick屬性。在這種處理方式下&#xff0c;通常超鏈接文本會和正文的文本以…

Android 布局以及優化資料匯總

2019獨角獸企業重金招聘Python工程師標準>>> 1.性能優化之布局優化 2.Android 開源庫 V - Layout 轉載于:https://my.oschina.net/zhugenqiang/blog/822942

AS3容易被忽略的一些特性

1.給sprite設置背景色 給sprite設置背景色&#xff0c;spr.opaqueBackground 0xFFCC33, 在尺寸變化的時候自動重繪背景。需要注意的是背景不能接受鼠標事件&#xff0c;接受鼠標事件的話&#xff0c;需要用graphics繪制背景。 2.在ByteArray里writeUTF("中方漢字")&…

每天一個JavaScript實例-canvas繪圖

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /> <title>每天一個JavaScript實例-canvas繪圖</title> <style>.canvas{width:600px;height:500px;} </s…