kafka監聽問題的解決和剖析

2022-10-06 02:42:06 字數 1894 閱讀 7026

首先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...