關於Kafka的那些坑

2021-08-15 07:43:47 字數 884 閱讀 2571

進來使用了kafka訊息佇列,喜憂參半。

細數一下,踩過的坑。

1、最好不要用windows伺服器去搞,當然像本人這樣被迫使用的,就硬著頭皮搞。

windows伺服器搭建kafka,首先先例少。其次穩定性,個人感覺要比linux或者mac上差遠了。windows上,停止kafka後,在啟動需要刪掉log。否則會報錯,log正在被另乙個程序訪問。mac執行則沒發現同樣錯誤。

2、kafka的topic命名,一定不要用 點"."或者 下劃線"_"。本人親測,下劃線將會有坑。沒有去細讀底層**,但實際執行發現

例如通道名 test_a  和 test。 兩個通道就會有問題,本人親測,向test傳送訊息,consumer收不到test通道的訊息,向test_a傳送訊息,consumer監聽test_a則可以收到。雖然沒有深究根源,但建議各位直接使用全英文topic名,省去麻煩。另外對於大小寫也存在問題,不要建立字母相同,僅大小寫不同的topic。

3、關於刪除kafka的topic,尤其是在windows下,很可能灰常麻煩。僅執行delete topic 是不好使的。還需要去zookeeper中刪掉。

刪除命令:./bin/kafka-topics  --delete --zookeeper 【zookeeper server】  --topic 【topic name】

執行zookeeper/bin/zkcli.cmd

輸入命令:ls /brokers/topics

會看到topic 列表

然後輸入:rmr /brokers/topics/【topic name】(替換需要刪掉的topic)

4、可以考慮搭配資料庫使用,資料庫記錄訊息。這樣即便訊息佇列掛掉,也有據可查。kafka訊息可以新增key,新增唯一key。便於查詢記錄。當然,這個根據需要,此條僅做討論用。

關於PHP的那些坑

因為php是弱型別語言,常常會發生許多意想不到的問題,所以,我們再次一一細數這些我們踏過的坑 1 foreach中自動回將key為數值的轉化成整型,造成無法匹配 function translate keyword return 其他 echo translate google php eol ec...

關於JSF學習的那些坑

1 jsf的重定向和一般的重定向不同 首先,一般的重定向,比如springmvc不管攔截的url是什麼樣的,或者 spring 重定向的時候重定向url是什麼就在瀏覽器位址列顯示什麼,如return redirect login 則瀏覽器位址列一定顯示localhost 8080 login 然而j...

關於Linux時間同步的那些坑

好多年不寫博文,第一次在csdn上寫部落格。由於團隊引入容器雲作為底層架構已2年有餘,工作中層出現多個跟蹤 監控和日誌元件出現資料不一致和資料不顯示等各類問題。經深入研究,均與時間同步有關。在使用k8s kubernetes 和istio容器雲架構的過程中,出現的常見問題。1.prometheus ...