dx? ?近幾日威沫,因為公司業(yè)務需求的原因壳快,自己又開始轉(zhuǎn)行玩起了java開發(fā)工作,配合F&B系統(tǒng)的數(shù)據(jù)模塊的開發(fā)工作贞绵。 在經(jīng)過了大量的咨詢查閱之后厉萝,確定了自己這塊本身的項目架構。理解了很多的架構邏輯榨崩,知道了多種解決業(yè)務問題的具體思路谴垫,在最后通過leader,leeYond的領導下母蛛,成功的確定了架構的搭建思路與方向翩剪。 最后使用kafka這個消息中間組件,來完成整個模塊的信息交流問題彩郊。 可是在kafka的學習中前弯,自己又遇到了個問題,在確認kafka啟動無異常的情況下秫逝,producer,可以"正常"的sent數(shù)據(jù)恕出,而 consumer 無法讀出數(shù)據(jù)。
解決思路:
? ? ?排查問題: 首先查閱kafka日志违帆,判定系統(tǒng)是否正常的 接收到了 producer sent的數(shù)據(jù)浙巫。?
? ? 經(jīng)排查,kafka并未正常接收到數(shù)據(jù)刷后,而 kafka的sent 返回參數(shù)的畴,又是一個Future 對象,隨意查閱起來很是麻煩尝胆,自己為了節(jié)省代碼量丧裁,就沒寫這部分,所以只是打印了發(fā)送結束的日志班巩,而真正的報錯日志就這樣子忽略了過去渣慕。?
開啟spring boot的 的日志 debug 模式嘶炭,查看詳細日志. 經(jīng)判定,原本部署在公司內(nèi)網(wǎng) 38 服務器上的6667 端口的kafka,理論上的connect的 192.168.1.38:6667? ,卻被解析成了?dxg-ml:6667,而 dxg-ml 是kafka的別名逊桦,為啥會被系統(tǒng)默認為連接呢眨猎。
自己配置的明明是ip,程序內(nèi)部卻去獲取他的別名强经,那如果生產(chǎn)者所在機器上沒有配置這個ip的別名睡陪,就不能解析到對應的ip,所以連接失敗報錯匿情。
最后兰迫,解決思路,就是去配置 自己本地電腦的路徑指向:
?windows:
C:\Windows\System32\drivers\etc\hosts??
?添加? 192.168.1.38? ?dxg-ml??
linux :
vi /etc/hosts
? 添加 192.168.1.38? dxg-ml
問題得以解決炬称。? ?具體原因尚不明確汁果,可能是kafka的問題。
博客原文:https://blog.csdn.net/maoyuanming0806/article/details/80553632