柚子快報(bào)激活碼778899分享:分布式 kafka
柚子快報(bào)激活碼778899分享:分布式 kafka
在做平臺(tái)項(xiàng)目的時(shí)候,需要使用kafka去做消息隊(duì)列去向下位機(jī)傳送指令來操作下位機(jī)。在安裝kafka時(shí)發(fā)現(xiàn),現(xiàn)在kafka和zookeeper是綁定在一起的而且kafka是需要java環(huán)境的,zookeeper的端口為2181,kafka的端口為9092。
但是在堅(jiān)挺的時(shí)候我們需要將kafka的監(jiān)聽ip換成機(jī)器ip,要不然她監(jiān)聽的就是127.0.0.1,修改一下,這里是有2處需要修改。
kafka的設(shè)計(jì)師什么樣子的:
kafka將消息以topic為單位進(jìn)行歸納,他也可以進(jìn)行集群部署,每一個(gè)服務(wù)叫做一個(gè)broker。
kafka數(shù)據(jù)傳輸?shù)氖聞?wù)定義有三種:
1.最多一次:消息不會(huì)被重復(fù)發(fā)送,最多被傳輸一次,但是有可能一次也不傳輸
2.最少一次:消息不會(huì)被漏發(fā),最少被傳輸一次,但是有可能被傳輸多次
3.精確地一次(exactly once):不會(huì)漏傳輸也不會(huì)重復(fù)發(fā)送,每個(gè)消息僅被傳輸一次、
kafka集群是如何檢測節(jié)點(diǎn)是否存活:
1.集群依賴zookeeper,zookeeper可以通過心跳機(jī)制檢查每個(gè)節(jié)點(diǎn)存活情況,
2.如果一個(gè)節(jié)點(diǎn)是follower,那么它必須能夠及時(shí)同步leader的寫操作
kafka的consumer是通過主動(dòng)從broker的topic中pull拉取消息,productor是通過push主動(dòng)向broker中的topic發(fā)送消息,他是可以根據(jù)consumer自己的消費(fèi)能力去消費(fèi)消息,
kafka主要是去管理和處理流式數(shù)據(jù)的工具,具有低延遲,與傳統(tǒng)的批量處理還是有區(qū)別的,
1.查看kafka下topic下的消息處理:
./kafka-consumer-groups.sh --describe --bootstrap-server 127.0.0.1:9092 --group dynamic
2.清空某一topic下的消息數(shù)目
./kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name platform_data --alter --add-config retention.ms=10000
kafka是如何保證消息不丟失的:
1.這個(gè)問題呢可以從kafka的結(jié)構(gòu)來分析:
kafka分為producer,consumer,broker
首先producer傳遞消息到broker有一個(gè)ack機(jī)制:
柚子快報(bào)激活碼778899分享:分布式 kafka
參考鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。