91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Spring Boot應用程序中如何使用Apache Kafka

發布時間:2021-08-07 11:55:03 來源:億速云 閱讀:163 作者:小新 欄目:編程語言

這篇文章主要介紹在Spring Boot應用程序中如何使用Apache Kafka,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

第1步:生成我們的項目: Spring Initializr 來生成我們的項目。我們的項目將提供Spring MVC / Web支持和Apache Kafka支持。

第2步:發布/讀取Kafka主題中的消息:

<b>public</b> <b>class</b> User {
  <b>private</b> String name;
  <b>private</b> <b>int</b> age;
  <b>public</b> User(String name, <b>int</b> age) {
    <b>this</b>.name = name;
    <b>this</b>.age = age;
  }
}

第3步:通過application.yml配置文件配置Kafka:

我們需要創建配置文件。我們需要以某種方式配置我們的Kafka生產者和消費者,以便能夠發布和讀取與主題相關的消息。相比建立一個使用@Configuration標注的Java類,我們可以直接使用配置文件application.properties或application.yml。Spring Boot讓我們避免像過去一樣編寫的所有樣板代碼,同時為我們提供了更加智能的配置應用程序的方法,如下所示:

server: port: 9000
spring:
  kafka:
   consumer:
    bootstrap: localhost:9092
    group-id: group_id
    auto-offset-reset: earliest
    key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
    bootstrap: localhost:9092
    key-serializer: org.apache.kafka.common.serialization.StringSerializer
    value-serializer: org.apache.kafka.common.serialization.StringSerializer

第4步:創建一個生產者,創建生產者會將我們的消息寫入該主題。

<b>public</b> <b>class</b> Producer {
  <b>private</b> <b>static</b> <b>final</b> Logger logger = LoggerFactory.getLogger(Producer.<b>class</b>);
  <b>private</b> <b>static</b> <b>final</b> String TOPIC = <font>"users"</font><font>;
  @Autowired
  <b>private</b> KafkaTemplate<String, String> kafkaTemplate;
  <b>public</b> <b>void</b> sendMessage(String message) {
    logger.info(String.format(</font><font>"#### -> Producing message -> %s"</font><font>, message));
    <b>this</b>.kafkaTemplate.send(TOPIC, message);
  }
}
</font>

自動連接autowireKafkaTemplate ,使用它將消息發布到主題 - 這就是消息的生產者!

第5步:創建一個消費者,消費者是負責根據您自己的業務邏輯的需求閱讀處理消息的消息的服務。要進行設置,請輸入以下內容:

@Service
<b>public</b> <b>class</b> Consumer {

  <b>private</b> <b>final</b> Logger logger = LoggerFactory.getLogger(Producer.<b>class</b>);

  @KafkaListener(topics = <font>"users"</font><font>, groupId = </font><font>"group_id"</font><font>)
  <b>public</b> <b>void</b> consume(String message) throws IOException {
    logger.info(String.format(</font><font>"#### -> Consumed message -> %s"</font><font>, message));
  }
}
</font>

在這里,我們告訴我們的方法void consume(String message)訂閱用戶的主題,并將每條消息發送到應用程序日志。在您的實際應用程序中,您可以按照業務需要的方式處理消息。

第6步:創建REST控制器,們已經擁有了能夠消費Kafka消息所需的全部內容。

為了充分展示我們創建的所有內容的工作原理,我們需要創建一個具有單一端點的控制器。消息將發布到此端點,然后由我們的生產者處理。然后,我們的消費者將通過登錄到控制臺來捕獲并處理它。

@RestController
@RequestMapping(value = <font>"/kafka"</font><font>)
<b>public</b> <b>class</b> KafkaController {

  <b>private</b> <b>final</b> Producer producer;

  @Autowired
  KafkaController(Producer producer) {
    <b>this</b>.producer = producer;
  }

  @PostMapping(value = </font><font>"/publish"</font><font>)
  <b>public</b> <b>void</b> sendMessageToKafkaTopic(@RequestParam(</font><font>"message"</font><font>) String message) {
    <b>this</b>.producer.sendMessage(message);
  }
}
</font>

讓我們使用cURL將消息發送給Kafka:

curl -X POST -F 'message=test' http://localhost:9000/kafka/publish

以上是“在Spring Boot應用程序中如何使用Apache Kafka”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新昌县| 广西| 太原市| 长顺县| 甘谷县| 昆山市| 盱眙县| 饶河县| 集贤县| 商南县| 兴业县| 拜泉县| 朝阳区| 浠水县| 外汇| 周口市| 奈曼旗| 精河县| 洛宁县| 鲜城| 金坛市| 利川市| 泸西县| 安国市| 宜阳县| 咸宁市| 梓潼县| 久治县| 南投县| 张家川| 阜阳市| 城口县| 砚山县| 凤庆县| 金沙县| 四川省| 安陆市| 盘山县| 阜康市| 竹山县| 冀州市|