java kafka

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java kafka是什麼,讓我們一起了解一下?

kafka是由Scala和Java編寫,Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它可以處理消費者在網站中的所有動作流數據,這些數據通常是由於吞吐量的要求而透過處理日誌和日誌聚合來解決。

kafka的簡單應用有哪些?

Broker : Kafka集羣包含一個或多個服務器,這種服務器被稱爲broker。

Topic : 每條發佈到Kafka集羣的消息都有一個類別,這個類別被稱爲Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然儲存於一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存於何處)

Partition : Partition是物理上的概念,每個Topic包含一個或多個Partition。

java kafka

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;@Componentpublic 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);        }    }}