? ? ? ?今天改寫之前的項(xiàng)目,由于之前對(duì)于kafka的認(rèn)知不足,簡(jiǎn)單的以為是和rabbitmq都是amqp的一種實(shí)現(xiàn),結(jié)果大錯(cuò)特錯(cuò),那么這篇日志來記錄下今天學(xué)習(xí)的成果
? ? ? ?根據(jù)百度百科的信息,Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。 這種動(dòng)作(網(wǎng)頁瀏覽,搜索和其他用戶的行動(dòng))是在現(xiàn)代網(wǎng)絡(luò)上的許多社會(huì)功能的一個(gè)關(guān)鍵因素。 這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。 對(duì)于像Hadoop的一樣的日志數(shù)據(jù)和離線分析系統(tǒng),但又要求實(shí)時(shí)處理的限制,這是一個(gè)可行的解決方案。Kafka的目的是通過Hadoop的并行加載機(jī)制來統(tǒng)一線上和離線的消息處理,也是為了通過集群來提供實(shí)時(shí)的消費(fèi)。
? ? ? ?首先是ampq和kafka對(duì)于消息信息持久化的不同,ActiveMQ消息持久化方式,分別是:文件、mysql數(shù)據(jù)庫(kù)、oracle數(shù)據(jù)庫(kù)。而kafka則是把數(shù)據(jù)以追加日志的形式存在了磁盤上。這樣的優(yōu)勢(shì)就在于讀操作不會(huì)阻塞寫操作和其他操作(因?yàn)樽x和寫都是追加的形式,都是順序的,不會(huì)亂,所以不會(huì)發(fā)生阻塞),數(shù)據(jù)大小不對(duì)性能產(chǎn)生影響;沒有容量限制(相對(duì)于內(nèi)存來說)的硬盤空間建立消息系統(tǒng);線性訪問磁盤,速度快,可以保存任意一段時(shí)間!