批量提交 kafka_Kafka精华问答|kafka的使用场景是什么?
戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!
Kafka是由Apache軟件基金會(huì)開發(fā)的一個(gè)開源流處理平臺(tái),由Scala和Java編寫。作為一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),有著諸多特性。今天,就讓我們一起來(lái)看看關(guān)于它的精華問(wèn)答吧!
1
Q:什么是kafka?
A:kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。這種動(dòng)作(網(wǎng)頁(yè)瀏覽,搜索和其他用戶的行動(dòng))是在現(xiàn)代網(wǎng)絡(luò)上的許多社會(huì)功能的一個(gè)關(guān)鍵因素。這些數(shù)據(jù)通常是由于吞吐量的要求而通過(guò)處理日志和日志聚合來(lái)解決。
2
Q:kafka的使用場(chǎng)景是什么?
A:1、Messaging
對(duì)于一些常規(guī)的消息系統(tǒng),kafka是個(gè)不錯(cuò)的選擇;partitons/replication和容錯(cuò),可以使kafka具有良好的擴(kuò)展性和性能優(yōu)勢(shì).不過(guò)到目前為止,我們應(yīng)該很清楚認(rèn)識(shí)到,kafka并沒(méi)有提供JMS中的"事務(wù)性""消息傳輸擔(dān)保(消息確認(rèn)機(jī)制)""消息分組"等企業(yè)級(jí)特性;kafka只能使用作為"常規(guī)"的消息系統(tǒng),在一定程度上,尚未確保消息的發(fā)送與接收絕對(duì)可靠(比如,消息重發(fā),消息發(fā)送丟失等)
2、Websit activity tracking
kafka可以作為"網(wǎng)站活性跟蹤"的最佳工具;可以將網(wǎng)頁(yè)/用戶操作等信息發(fā)送到kafka中.并實(shí)時(shí)監(jiān)控,或者離線統(tǒng)計(jì)分析等
3、Log Aggregation
kafka的特性決定它非常適合作為"日志收集中心";application可以將操作日志"批量""異步"的發(fā)送到kafka集群中,而不是保存在本地或者DB中;kafka可以批量提交消息/壓縮消息等,這對(duì)producer端而言,幾乎感覺(jué)不到性能的開支.此時(shí)consumer端可以使hadoop等其他系統(tǒng)化的存儲(chǔ)和分析系統(tǒng)。
3
Q:Kafka 與傳統(tǒng)的消息系統(tǒng)有什么區(qū)別?
A:Kafka系統(tǒng)是一個(gè)分布式系統(tǒng),易于向外擴(kuò)展;可以同時(shí)為發(fā)布和訂閱高吞吐量;支持多訂閱者,當(dāng)失敗時(shí)能自動(dòng)平衡消費(fèi)者;將消息持久化到磁盤,因此可以用于批量消費(fèi),例如ETL。
4
Q:kafka作為分布式消息系統(tǒng)有哪些特點(diǎn)?
A:kafka 是作為一個(gè)集群運(yùn)行在一個(gè)或者多個(gè)服務(wù)器上的;kafka集群存儲(chǔ)的消息是一個(gè)topic為類別記錄的;每個(gè)消息(也叫record)都是由一個(gè)key,一個(gè)value和時(shí)間戳構(gòu)成的。
5
Q:kafka節(jié)點(diǎn)之間如何備份?
A:Kafka允許用戶為每個(gè)topic設(shè)置副本數(shù)量,副本數(shù)量決定了有幾個(gè)broker來(lái)存放寫入的數(shù)據(jù)。如果你的副本數(shù)量為3,那么一份數(shù)據(jù)就會(huì)被存放在3臺(tái)不同的機(jī)器上,在所有備份節(jié)點(diǎn)中,有一個(gè)節(jié)點(diǎn)作為leader節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)保存了其它備份節(jié)點(diǎn)列表,并維持各個(gè)備份間的狀態(tài)同步。
副本以topic的分區(qū)為單位。在正常情況下,kafka每個(gè)分區(qū)都有一個(gè)單獨(dú)的leader,0個(gè)或者多個(gè)follower。副本的總數(shù)包括leader。所有的讀取和寫入到該分區(qū)的leader。通常,分區(qū)數(shù)比broker多,leader均勻分布在broker。Follower的日志完全等同于leader的日志,相同的順序相同的偏移量和消息。Follower作為普通的消費(fèi)者從leader中消費(fèi)消息并應(yīng)用到自己的日志中。并允許follower從leader拉取批量日志應(yīng)用到自己的日志,這樣具有良好的性能。
---------------- 完--------------
小伙伴們沖鴨,后臺(tái)留言區(qū)等著你!
關(guān)于Kafka,今天你學(xué)到了什么?還有哪些不懂的?除此還對(duì)哪些話題感興趣?快來(lái)留言區(qū)打卡啦!留言方式:打開第XX天,答:……
同時(shí)歡迎大家搜集更多問(wèn)題,投稿給我們!風(fēng)里雨里留言區(qū)里等你~
---------------- 完--------------
添加小編微信:color_ld,備注“進(jìn)群+姓名+公司職位”即可,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
2.征稿:
投稿郵箱:liudan@csdn.net;微信號(hào):color_ld。請(qǐng)備注投稿+姓名+公司職位。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的批量提交 kafka_Kafka精华问答|kafka的使用场景是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linq 清除一条数据中的某个字段值_B
- 下一篇: datetime建立索引有用吗_超全的数