首先kafka監聽不得到資料,檢查如下
如果出現監聽不到資料的問題,那麼就試試更改方法一二,如果不可以在去試試方法三,之前出現這個問題也是查過 一般查到都會說 「低版本的伺服器接收不到高版本的生產者傳送的訊息」,但是淨由測試使用 用1.0.5release 和 2.6.3反覆測試,並沒有任何的問題。
如果按照版本一致,那麼根本就不現實,因為可能不同的專案,springboot版本不一致的話,可能有的springboot版本低,那麼你還得要求自己維護專案版本公升級?如果出現第四種情況就無話可說了。
重複資料的傳送問題如下
目前我是使用的redis進行的排重法,用的是redis中的set,保證裡面不存在重複,保證redwww.cppcns.comis裡面不會存入太多的髒資料。並定期清理
貼上一下我的排重(redis排重法)
//kafka prefix
string cache = hpmyvv"kafka_cache";
//kafka suffix
calendar c = calendar.getinstance();
******dateformat sdf = new ******dateformat("yyyy-mm-dd hh:mm:ss");
//0點,目前是為了設定為這一天的固定時間。這個完全可以去寫個工具類自己弄,為了看的更清楚,麻煩了一點的寫入
******dateformat sdf2 = new ******dateformat("yyyy-mm-dd 00:00:00");
string gtimestart = sdf2.format(c.gettime());
long time = sdf.parse(gtimestart).gettime();
//此位置為了設定是否是新的一天,新的一天需要設定定時時間,保證redis中不會儲存太多無用資料
boolean flag = false;
//資料接收
set range = new hashset<>();
//判斷是否存在
if (redistemplate.haskey(cache + time)) else
//判斷監聽到的資料是否是重複
if (range.contains("測試需要")) else
}原因是因為在不同groupid之下,kafka接收到以後,會給監聽他的每乙個組傳送乙個他所收到的訊息,但是兩個消費端監聽同乙個租,那麼就只有乙個消費端可以消費到。
# 指定kafka **位址,可以多個,用逗號間隔
spring.kafka.bootstrap-servers= localhost:9092
# 指定預設消費者group id
spring.kafka.consumer.group-id= test
# 是否自動提交
spring.kafka.consumer.enable-auto-commit= true
# 提交間隔的毫秒
spring.kafka.consumer.auto-commit-interval.ms=60000
# 最大輪詢的次數
spring.kafka.consumer.max-poll-records=1
# 將偏移量重置為最新偏移量
spring.kafka.consumer.auto-offset-reset=earliest
# 指定訊息key和訊息體的編譯碼方式
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.stringdeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.stringdeserializer
kafka解決的問題
假設你意氣風發,要開發新一代的網際網路應用,以期在網際網路事業中一展巨集圖。借助雲計算,很容易開發出如下原型系統 web應用 部署在雲伺服器上,為個人電腦或者移動使用者提供的訪問體驗。sql資料庫 為web應用提供資料持久化以及資料查詢。本質上,這是乙個資料整合問題。沒有任何乙個系統能夠解決所有的事...
精 Kafka問題與解決
問題 1.網域名稱解析失敗 vim etc hosts 127.0.0.1 kafka 2.模擬kafka掛掉 kil 9 22789 kafka server stop.sh 3.修改broker.id失敗 需要同步修改meta.properties中的id 4.沒有刪除topic 1 命令刪除 ...
解決Kafka重複消費問題
某服務 用了springboot spring kafka 處理kafka訊息時,發現每條訊息處理時間長達60 秒。幾百條訊息處理完後,又重新從第一條開始重複消費。kafka消費者有兩個配置引數 max.poll.interval.ms 兩次poll操作允許的最大時間間隔。單位毫秒。預設值30000...