国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot3集成Kafka

這篇具有很好參考價值的文章主要介紹了SpringBoot3集成Kafka。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄
  • 一、簡介
  • 二、環(huán)境搭建
    • 1、Kafka部署
    • 2、Kafka測試
    • 3、可視化工具
  • 三、工程搭建
    • 1、工程結構
    • 2、依賴管理
    • 3、配置文件
  • 四、基礎用法
    • 1、消息生產
    • 2、消息消費
  • 五、參考源碼

標簽:Kafka3.Kafka-eagle3;

一、簡介

Kafka是一個開源的分布式事件流平臺,常被用于高性能數(shù)據(jù)管道、流分析、數(shù)據(jù)集成和關鍵任務應用,基于Zookeeper協(xié)調的處理平臺,也是一種消息系統(tǒng),具有更好的吞吐量、內置分區(qū)、復制和容錯,這使得它成為大規(guī)模消息處理應用程序的一個很好的解決方案;

二、環(huán)境搭建

1、Kafka部署

1、下載安裝包:kafka_2.13-3.5.0.tgz

2、配置環(huán)境變量

open -e ~/.bash_profile

export KAFKA_HOME=/本地路徑/kafka3.5
export PATH=$PATH:$KAFKA_HOME/bin

source ~/.bash_profile

3、該目錄【kafka3.5/bin】啟動zookeeper
zookeeper-server-start.sh ../config/zookeeper.properties

4、該目錄【kafka3.5/bin】啟動kafka
kafka-server-start.sh ../config/server.properties

2、Kafka測試

1、生產者
kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
>id-1-message
>id-2-message

2、消費者
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic
id-1-message
id-2-message

3、查看topic列表
kafka-topics.sh --bootstrap-server localhost:9092 --list
test-topic

4、查看消息列表
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning --partition 0
id-1-message
id-2-message

3、可視化工具

配置和部署

1、下載安裝包:kafka-eagle-bin-3.0.2.tar.gz

2、配置環(huán)境變量

open -e ~/.bash_profile

export KE_HOME=/本地路徑/efak-web-3.0.2
export PATH=$PATH:$KE_HOME/bin

source ~/.bash_profile

3、修改配置文件:system-config.properties

efak.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181
efak.url=jdbc:mysql://127.0.0.1:3306/kafka-eagle

4、本地新建數(shù)據(jù)庫:kafka-eagle,注意用戶名和密碼是否一致

5、啟動命令
efak-web-3.0.2/bin/ke.sh start
命令語法: ./ke.sh {start|stop|restart|status|stats|find|gc|jdk|version|sdate|cluster}

6、本地訪問【localhost:8048】 username:admin password:123456

SpringBoot3集成Kafka

KSQL語句測試

select * from `test-topic` where `partition` in (0)  order by `date` desc limit 5

SpringBoot3集成Kafka

select * from `test-topic` where `partition` in (0) and msg like '%5%' order by `date` desc limit 3

SpringBoot3集成Kafka

三、工程搭建

1、工程結構

SpringBoot3集成Kafka

2、依賴管理

這里關于依賴的管理就比較復雜了,首先spring-kafka組件選擇與boot框架中spring相同的依賴,即6.0.10版本,在spring-kafka最近的版本中3.0.8符合;

但是該版本使用的是kafka-clients組件的3.3.2版本,在Spring文檔的kafka模塊中,明確說明spring-boot:3.1要使用kafka-clients:3.4,所以從spring-kafka組件中排除掉,重新依賴kafka-clients組件;

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
    <version>${spring-kafka.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>${kafka-clients.version}</version>
</dependency>

3、配置文件

配置kafka連接地址,監(jiān)聽器的消息應答機制,消費者的基礎模式;

spring:
  # kafka配置
  kafka:
    bootstrap-servers: localhost:9092
    listener:
      missing-topics-fatal: false
      ack-mode: manual_immediate
    consumer:
      group-id: boot-kafka-group
      enable-auto-commit: false
      max-poll-records: 10
      properties:
        max.poll.interval.ms: 3600000

四、基礎用法

1、消息生產

模板類KafkaTemplate用于執(zhí)行高級的操作,封裝各種消息發(fā)送的方法,在該方法中,通過topickey以及消息主體,實現(xiàn)消息的生產;

@RestController
public class ProducerWeb {

    @Resource
    private KafkaTemplate<String, String> kafkaTemplate;

    @GetMapping("/send/msg")
    public String sendMsg (){
        try {
            // 構建消息主體
            JsonMapper jsonMapper = new JsonMapper();
            String msgBody = jsonMapper.writeValueAsString(new MqMsg(7,"boot-kafka-msg"));
            // 發(fā)送消息
            kafkaTemplate.send("boot-kafka-topic","boot-kafka-key",msgBody);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return "OK" ;
    }
}

2、消息消費

編寫消息監(jiān)聽類,通過KafkaListener注解控制監(jiān)聽的具體信息,在實現(xiàn)消息生產和消費的方法測試后,使用可視化工具kafka-eagle查看topic和消息列表;

@Component
public class ConsumerListener {

    private static final Logger log = LoggerFactory.getLogger(ConsumerListener.class);

    @KafkaListener(topics = "boot-kafka-topic")
    public void listenUser (ConsumerRecord<?,String> record, Acknowledgment acknowledgment) {
        try {
            String key =  String.valueOf(record.key());
            String body = record.value();
            log.info("\n=====\ntopic:boot-kafka-topic,key{},body:{}\n=====\n",key,body);
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            acknowledgment.acknowledge();
        }
    }
}

SpringBoot3集成Kafka文章來源地址http://www.zghlxwxcb.cn/news/detail-654955.html

五、參考源碼

文檔倉庫:
https://gitee.com/cicadasmile/butte-java-note

源碼倉庫:
https://gitee.com/cicadasmile/butte-spring-parent

到了這里,關于SpringBoot3集成Kafka的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • SpringBoot3集成RocketMq

    SpringBoot3集成RocketMq

    標簽:RocketMq5.Dashboard; RocketMQ因其架構簡單、業(yè)務功能豐富、具備極強可擴展性等特點被廣泛應用,比如金融業(yè)務、互聯(lián)網、大數(shù)據(jù)、物聯(lián)網等領域的業(yè)務場景; 在 rocketmq-starter 組件中,實際上依賴的是 rocketmq-client 組件的 5.0 版本,由于兩個新版框架間的兼容問題,需要添

    2024年02月12日
    瀏覽(25)
  • SpringBoot3集成PostgreSQL

    SpringBoot3集成PostgreSQL

    標簽:PostgreSQL.Druid.Mybatis.Plus; PostgreSQL是一個功能強大的開源數(shù)據(jù)庫系統(tǒng),具有可靠性、穩(wěn)定性、數(shù)據(jù)一致性等特點,且可以運行在所有主流操作系統(tǒng)上,包括Linux、Unix、Windows等。 通過官方文檔可以找到大量描述如何安裝和使用PostgreSQL的信息。 環(huán)境搭建,基于 Centos7 部署

    2024年03月24日
    瀏覽(22)
  • SpringBoot3集成Quartz

    SpringBoot3集成Quartz

    目錄 一、簡介 二、工程搭建 1、工程結構 2、依賴管理 3、數(shù)據(jù)庫 4、配置文件 三、Quartz用法 1、初始化加載 2、新增任務 3、更新任務 4、暫停任務 5、恢復任務 6、執(zhí)行一次 7、刪除任務 8、任務執(zhí)行 四、參考源碼 標簽:Quartz.Job.Scheduler; Quartz由Java編寫的功能豐富的開源作業(yè)

    2024年02月13日
    瀏覽(16)
  • SpringBoot3集成ElasticSearch

    SpringBoot3集成ElasticSearch

    目錄 一、簡介 二、環(huán)境搭建 1、下載安裝包 2、服務啟動 三、工程搭建 1、工程結構 2、依賴管理 3、配置文件 四、基礎用法 1、實體類 2、初始化索引 3、倉儲接口 4、查詢語法 五、參考源碼 標簽:ElasticSearch8.Kibana8; Elasticsearch是一個分布式、RESTful風格的搜索和數(shù)據(jù)分析引擎

    2024年02月12日
    瀏覽(20)
  • SpringBoot3數(shù)據(jù)庫集成

    SpringBoot3數(shù)據(jù)庫集成

    標簽:Jdbc.Druid.Mybatis.Plus; 項目工程中,集成數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)的增曬改查管理,是最基礎的能力,而對于這個功能的實現(xiàn),其組件選型也非常豐富; 通過如下幾個組件來實現(xiàn)數(shù)據(jù)庫的整合; Druid連接池 :阿里開源的數(shù)據(jù)庫連接池,并且提供 SQL 執(zhí)行的監(jiān)控能力; MybatisPlu

    2024年02月13日
    瀏覽(28)
  • Elasticsearch 搜索測試與集成Springboot3

    Elasticsearch 搜索測試與集成Springboot3

    Elasticsearch是專門做 搜索 的,它非常擅長以下方面的問題 Elasticsearch對模糊搜索非常擅長(搜索速度很快) 從Elasticsearch搜索到的數(shù)據(jù)可以根據(jù) 評分 過濾掉大部分的,只要返回評分高的給用戶就好了(原生就支持排序) 沒有那么準確的也能搜出相關的結果(能匹配有相

    2024年01月22日
    瀏覽(30)
  • Java21 + SpringBoot3集成WebSocket

    Java21 + SpringBoot3集成WebSocket

    近日心血來潮想做一個開源項目,目標是做一款可以適配多端、功能完備的模板工程,包含后臺管理系統(tǒng)和前臺系統(tǒng),開發(fā)者基于此項目進行裁剪和擴展來完成自己的功能開發(fā)。 本項目為前后端分離開發(fā),后端基于 Java21 和 SpringBoot3 開發(fā),前端提供了vue、angular、react、uniap

    2024年01月23日
    瀏覽(62)
  • 【springboot3.x 記錄】解決 springboot3 集成 mybatis-plus 報 sqlSession 異常

    2022-12-30,作者最新發(fā)布了?3.5.3.1 版本,不需要使用快照版本了 ========================= springboot3 已經發(fā)布正式版,第一時間嘗鮮看看如何,但是在集成?mybatis-plus 最新版 3.5.2 的時候發(fā)現(xiàn)提示異常。 看來 springboot3 在注入這塊做了調整,但目前?mybatis-plus 并沒有適配到。 于是翻查

    2024年02月13日
    瀏覽(19)
  • springboot3 集成mybatis 和通用mapper

    springboot3 集成mybatis 和通用mapper

    xml版本查看:https://www.cnblogs.com/binz/p/6564490.html springboot3.x以前的版本查看 https://www.cnblogs.com/binz/p/17421063.html springboot3.x查看??https://www.cnblogs.com/binz/p/17654403.html 1、pom引用 !-- openapi、 swagger3、knife4j配置,適用boot3 -- !-- https://doc.xiaominfo.com -- dependency groupId com.github.xiaoymin/ groupI

    2024年02月11日
    瀏覽(25)
  • 【SpringBoot3】Spring Boot 3.0 集成 Redis 緩存

    Redis緩存是一個開源的使用ANSIC語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。它主要用于作為數(shù)據(jù)庫、緩存和消息中間件,以快速讀寫和豐富的數(shù)據(jù)結構支持而著稱。 在應用程序和數(shù)據(jù)庫之間,Redis緩存作為一個中間層起著關鍵

    2024年02月21日
    瀏覽(90)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包