javascript
kafka 启动_「首席看Event Hub」如何在您的Spring启动应用程序中使用Kafka
在體系結構規劃期間選擇正確的消息傳遞系統始終是一個挑戰,但這是需要確定的最重要的考慮因素之一。作為一名開發人員,我每天都要編寫需要服務大量用戶并實時處理大量數據的應用程序。
通常,我將Java與Spring框架(Spring Boot、Spring數據、Spring云、Spring緩存等)一起使用。Spring Boot是一個框架,它允許我比以前更快更輕松地完成開發過程。它已在我的組織中發揮了關鍵作用。隨著用戶數量的快速增長,我們意識到我們顯然需要每秒處理1,000,000個事件。
當我們發現Apache Kafka?時,我們發現它滿足了我們的需求,可以快速處理數百萬條消息。這就是為什么我們決定嘗試一下。從那一刻起,卡夫卡就成了我口袋里的重要工具。你會問,我為什么選擇它?
Apache Kafka是:
- 可伸縮的
- 容錯
- 一個很棒的發布-訂閱消息傳遞系統
- 與大多數消息傳遞系統相比,具有更高的吞吐量
- 高度耐用
- 高度可靠
- 高的性能
這就是為什么我決定在我的項目中使用它。根據我的經驗,我在這里提供了一個循序漸進的指南,介紹如何在Spring啟動應用程序中包含Apache Kafka,以便您也可以開始利用它的優點。
先決條件
- 本文要求您擁有Confluent平臺
- 手動安裝使用ZIP和TAR檔案
- 下載
- 解壓縮它
- 按照逐步說明,您將在本地環境中啟動和運行Kafka
我建議在您的開發中使用Confluent CLI來啟動和運行Apache Kafka和流平臺的其他組件。
你會從這本指南中得到什么
閱讀完本指南后,您將擁有一個Spring Boot應用程序,其中包含一個Kafka生成器,用于向您的Kafka主題發布消息,以及一個Kafka使用者,用于讀取這些消息。
好了,讓我們開始吧!
表的內容
步驟1:生成項目
首先,讓我們使用Spring Initializr來生成我們的項目。我們的項目將有Spring MVC/web支持和Apache Kafka支持。
一旦你解壓縮了這個項目,你將會有一個非常簡單的結構。我將在本文的最后向您展示項目的外觀,以便您能夠輕松地遵循相同的結構。我將使用Intellij IDEA,但是你可以使用任何Java IDE。
步驟2:發布/讀取來自Kafka主題的消息
現在,你可以看到它是什么樣的。讓我們繼續討論來自Kafka主題的發布/閱讀消息。
首先創建一個簡單的Java類,我們將使用它作為示例:package com.demo.models;
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
步驟3:通過應用程序配置Kafka.yml配置文件
接下來,我們需要創建配置文件。我們需要以某種方式配置我們的Kafka生產者和消費者,使他們能夠發布和從主題讀取消息。我們可以使用任意一個應用程序,而不是創建一個Java類,并用@Configuration注釋標記它。屬性文件或application.yml。Spring Boot允許我們避免過去編寫的所有樣板代碼,并為我們提供了更智能的配置應用程序的方法,如下所示:
server: port: 9000
spring:
kafka:
consumer:
bootstrap-servers: 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-servers: localhost:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
如果您想了解更多關于Spring引導自動配置的信息,可以閱讀這篇簡短而有用的文章。有關可用配置屬性的完整列表,請參閱官方文檔。
步驟4:創建一個生產者
創建生產者將把我們的消息寫入主題。
@Service
public class Producer {
private static final Logger logger = LoggerFactory.getLogger(Producer.class);
private static final String TOPIC = "users";
@Autowired
private KafkaTemplate kafkaTemplate;
public void sendMessage(String message) {
logger.info(String.format("#### -> Producing message -> %s
總結
以上是生活随笔為你收集整理的kafka 启动_「首席看Event Hub」如何在您的Spring启动应用程序中使用Kafka的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python修改电脑名称_python
- 下一篇: javascript 设计模式_开发者都