簡體   English   中英

Kafka-處理無法處理消息的消費者的模式

[英]Kafka - patterns for handling consumer unable to process messages

我正在嘗試實現簡單的服務,該服務從kafka提取消息,將消息包裝在一些數據中並發送到外部服務。

處理消息時處理外部服務不可用的常見模式是什么?

到目前為止,我僅在對外部服務的請求成功時才手動提交消息。 我希望kafka在一段時間后重新發送消息(如果未提交),以便處理外部服務故障對使用者是透明的。 不過,我找不到辦法。 但是,我很好奇我是否不做一些反模式設計,並且有更好的解決方案。

首先,您需要考慮,Kafka是基於的。 因此,如果您想第二次接收消息,則需要將seek()移至其offset和poll()

此外,如果要停止處理消息,可以pause()分區,然后再resume()分區。 請參閱Consumer JavaDoc中的“消費流控制”部分: https : //kafka.apache.org/090/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html

因此,如果您的外部服務已關閉,請暫停並等待直到其恢復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM