簡體   English   中英

如何自動刪除未使用的kafka用戶

[英]how to automatically delete unused kafka consumers

我正在將Kafka用於消息傳遞應用程序。 對於此應用程序,有一個生產者將消息放入一個主題中,而消費者將其注冊到該主題中並使用這些消息。 這些使用者是Dockerized應用程序。 出於自動縮放的目的,每個使用者在創建時都被注冊為具有唯一ID的使用者。

假定以下情況:

Consumer1被創建為Docker容器,並使用ID Consumer1注冊為Consumer1

Consumer2被創建為docker容器,並使用ID Consumer2注冊為Consumer2

現在,無論出於何種原因, Consumer1都會失敗,並被Consumer3取代,后者將自己作為ID為Consumer3 kafka的Consumer3

問題是,不再使用Consumer1 從長遠來看,將有多個未使用的消費者。

有沒有辦法動態地自動知道哪些使用者不再使用並刪除它們?

如果消費者1和消費者3屬於同一消費者組,那么消費者3將開始從消費者1停止的地方讀取消息。 這是因為Kafka維護特定於消費者組的偏移量。 因此,如果具有相同消費者組的消費者中的一個失敗,則其他消費者將使用偏移量並避免重新處理數據。

Kafka經紀人不會像您在問題中所假設的那樣維護失敗的使用者日志。

暫無
暫無

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

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