java kafka是什么,讓我們一起了解一下?
kafka是由Scala和Java編寫,Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據,這些數據通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。
kafka的簡單應用有哪些?
Broker : Kafka集群包含一個或多個服務器,這種服務器被稱為broker。
Topic : 每條發布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存于一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存于何處)
Partition : Partition是物理上的概念,每個Topic包含一個或多個Partition。
Producer : 負責發布消息到Kafka broker。
Consumer : 消息消費者,向Kafka broker讀取消息的客戶端。
Consumer Group : 每個Consumer屬于一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬于默認的group)。
kafka如何應用?
通過對消費者項目的編寫,案例代碼操作如下:
package?com.jbit.util; import?org.apache.kafka.clients.consumer.ConsumerRecord; import?org.springframework.kafka.annotation.KafkaListener; import?org.springframework.stereotype.Component; import?java.util.Optional; @Component public?class?MyKafkaListener?{ ????@KafkaListener(topics?=?{"message"}) ????public?void?listen(ConsumerRecord?record)?{ ????????Optional?kafkaMessage?=?Optional.ofNullable(record.value()); ????????if?(kafkaMessage.isPresent())?{ ????????????Object?message?=?kafkaMessage.get(); ????????????System.out.println("數據接收完畢:"+message); ????????} ????} }
以上就是小編今天的分享了,希望可以幫助到大家。