精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

在SpringBoot應用程序中如何使用ApacheKafka-創新互聯

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

10年積累的網站設計、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有勃利免費網站建設讓你可以放心的選擇與我們合作。

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

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

public class User {
  private String name;
  private int age;
  public User(String name, int age) {
    this.name = name;
    this.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步:創建一個生產者,創建生產者會將我們的消息寫入該主題。

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", message));
    this.kafkaTemplate.send(TOPIC, message);
  }
}

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

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

@Service
public class Consumer {

  private final Logger logger = LoggerFactory.getLogger(Producer.class);

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

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

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

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

@RestController
@RequestMapping(value = "/kafka")
public class KafkaController {

  private final Producer producer;

  @Autowired
  KafkaController(Producer producer) {
    this.producer = producer;
  }

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

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

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

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


當前標題:在SpringBoot應用程序中如何使用ApacheKafka-創新互聯
本文地址:http://m.jcarcd.cn/article/ecjdd.html
主站蜘蛛池模板: 欧美日韩国产成 | 日本在线网 | 国产精品成人观看视 | 日本不卡 | 午夜在线电影网 | 日本成人高清 | 欧洲色中文字 | 国产在在线免费观看 | 奇米777四| 国产福利| 欧美性猛交xxxx | 九九九九九九伊人 | 国产卡一卡二卡三卡 | 国产老妇伦国产熟 | 91视频在线观看 | 欧美专区日 | 欧美日韩一| 99影院| 欧美日韩精品久 | 国产在线啊v观看不 | www一区二区三区 | 成人三级网站在 | 国产不卡在线免费 | 日本成人羞羞网址 | 97久夜色| 韩国三级私人教练 | 另类老熟女hd | 日韩伦理剧在线观看 | 欧洲一卡2| 福利导航网站 | 青青草91| 国产黄在线 | 日韩精品系列产品 | 日韩在线视频一区 | 国产岛国在线观看 | 日韩AV在线电影 | 精品国产第一国产 | 国产人摸人啪视频 | 日本看片一卡 | 国产高清网址 | 国产区精品区 |