當您使用 Kafka 作為消息中間件時,需要使用消費者(Consumer)來訂閱主題(Topic)并消費其中的消息。Kafka 提供了多種消費者命令,可以通過命令行或程序化方式來消費 Kafka 中的消息。
以下是幾個常用的 Kafka 消費者命令:
1.kafka-console-consumer.sh:這個命令可以在控制臺上消費指定主題的消息。例如,要消費主題為 my-topic 的消息,可以使用以下命令:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning
其中,--bootstrap-server 參數指定了 Kafka 服務的地址和端口號,--topic 參數指定了要消費的主題名稱,--from-beginning 參數表示從主題的開始處開始消費消息。
2.kafka-consumer-groups.sh:這個命令可以用來管理 Kafka 中的消費者組。例如,要查看名為 my-group 的消費者組的消費狀態,可以使用以下命令:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe
其中,--bootstrap-server 參數指定了 Kafka 服務的地址和端口號,--group 參數指定了要管理的消費者組的名稱,--describe 參數表示要查看消費者組的詳細信息,包括消費者組內的消費者列表、分區分配情況、消費者的偏移量等。
kafka-avro-console-consumer.sh:這個命令可以消費 Avro 格式的消息。如果消息是以 Avro 格式序列化存儲在 Kafka 中,可以使用這個命令來消費消息。例如,要消費主題為 my-topic 的 Avro 消息,可以使用以下命令:
bin/kafka-avro-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning --property schema.registry.url=http://localhost:8081
其中,--bootstrap-server 參數指定了 Kafka 服務的地址和端口號,--topic 參數指定了要消費的主題名稱,--from-beginning 參數表示從主題的開始處開始消費消息,--property 參數指定了 Avro Schema 的注冊地址。
以上是幾個常用的 Kafka 消費者命令,您可以根據具體需求來選擇使用。在實際應用中,還可以使用 Kafka Consumer API 來編寫程序化的消費者,以便更好地控制消費者的行為和處理邏輯。