Kafka 实战演练:创建、配置与测试 Kafka全面教程

server/2024/9/20 1:31:22/ 标签: kafka, linq, 分布式

文章目录

  • 1.配置文件
  • 2.消费者
    • 1.注解方式
    • 2.KafkaConsumer
  • 3.依赖
    • 1.注解依赖
    • 2.KafkaConsumer依赖

本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得

1.配置文件

  1. Yml配置
spring:kafka:bootstrap-servers: consumer:group-id: iot-testaaaaaaaaaa11aaaaaaaaaauto-offset-reset: earliestkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializerproperties:security:protocol: SASL_SSLsasl:mechanism: PLAINjaas:config: org.apache.kafka.common.security.plain.PlainLoginModule required username="" password="";ssl:truststore:type: JKSlocation: src/main/resources/client.truststore.jkspassword: endpoint.identification.algorithm:

yaml配置

2.消费者

1.注解方式

    @KafkaListener(topics = {"abcd"})public void listen(ConsumerRecord<?, ?> record){Optional<?> kafkaMessage = Optional.ofNullable(record.value());if (kafkaMessage.isPresent()) {Object message = kafkaMessage.get();System.out.println("---->"+record);System.out.println("---->"+message);}}

注解方式

2.KafkaConsumer

/*** @author XHao*/
public class MqsConsumer {public static final String CONFIG_CONSUMER_FILE_NAME = "mqs.sdk.consumer.properties";private KafkaConsumer<Object, Object> consumer;MqsConsumer(String path) {Properties props = new Properties();try {InputStream in = new BufferedInputStream(new FileInputStream(path));props.load(in);} catch (IOException e) {e.printStackTrace();return;}consumer = new KafkaConsumer<Object, Object>(props);}public MqsConsumer() {Properties props = new Properties();try {props = loadFromClasspath(CONFIG_CONSUMER_FILE_NAME);} catch (IOException e) {e.printStackTrace();return;}consumer = new KafkaConsumer<Object, Object>(props);}public void consume(List topics) {consumer.subscribe(topics);}public ConsumerRecords<Object, Object> poll(long timeout) {return consumer.poll(timeout);}public void close() {consumer.close();}/*** get classloader from thread context if no classloader found in thread* context return the classloader which has loaded this class** @return classloader*/public static ClassLoader getCurrentClassLoader() {ClassLoader classLoader = Thread.currentThread().getContextClassLoader();if (classLoader == null) {classLoader = MqsConsumer.class.getClassLoader();}return classLoader;}/*** 从classpath 加载配置信息** @param configFileName 配置文件名称* @return 配置信息* @throws IOException*/public static Properties loadFromClasspath(String configFileName) throws IOException {ClassLoader classLoader = getCurrentClassLoader();Properties config = new Properties();List<URL> properties = new ArrayList<URL>();Enumeration<URL> propertyResources = classLoader.getResources(configFileName);while (propertyResources.hasMoreElements()) {properties.add(propertyResources.nextElement());}for (URL url : properties) {InputStream is = null;try {is = url.openStream();config.load(is);} finally {if (is != null) {is.close();is = null;}}}return config;}
}

在这里插入图片描述

3.依赖

1.注解依赖

      <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency>

2.KafkaConsumer依赖

        <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>1.1.0</version></dependency>

可视化大屏项目经常用到消息转换,实时状态等 记录一下吧

如果点赞多,评论多会更新详细教程,待补充。


http://www.ppmy.cn/server/114744.html

相关文章

《论边缘计算及其应用》写作框架,软考高级系统架构设计师

论文真题 边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的分布式开放平台(架构),就近提供边缘智能服务。边缘计算与云计算各有所长,云计算擅长全局性、非实时、长周期的大数据处理与分析,能够在长周期维护、业务决策支撑等领域发挥优势;…

【redis】本地windows五分钟快速安装redis

用处&#xff1a;本地自测&#xff0c;有时候公司redis环境不稳定&#xff0c;用自己的 1.下载&#xff0c;github下载一个解压缩在自己想要的位置 选择版本&#xff1a;Redis-7.4.0-Windows-x64-msys2-with-Service&#xff0c;zip GitHub - redis-windows/redis-windows: …

AIGC之GAN生成器和判别器的公式

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 在GAN&#xff08;生成对抗网络&#xff09;中&#xff0c;生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;通常是通过神经网络实现的&#xff0c;因此它们并没有…

如何选择合适的数据报表工具?

在企业的日常运营中&#xff0c;数据报表如同企业的“仪表盘”&#xff0c;为管理者提供了关键的业务信息。无论是销售数据、财务状况还是生产进度&#xff0c;都需要通过数据报表进行清晰的呈现。同时&#xff0c;随着企业对数据可视化的需求不断增加&#xff0c;数据看板和数…

小琳AI课堂:Nezha模型:基于Transformer的中文预训练语言模型优化与进展

大家好&#xff0c;这里是小琳AI课堂。今天我们来聊聊Nezha模型&#xff0c;这是一个基于Transformer架构的开源预训练语言模型&#xff0c;主要用于自然语言处理&#xff08;NLP&#xff09;任务。由中国的研究团队开发&#xff0c;Nezha模型在BERT的基础上进行了一些优化和改…

Java队列详细解释

队列 一、什么是队列&#xff08;Queue&#xff09; java队列是一种线性数据结构&#xff0c;它的特点是先进先出。在队列中&#xff0c;元素的添加&#xff08;入队&#xff09;操作在队尾进行&#xff0c;而元素的移除&#xff08;出队&#xff09;操作则在队头进行。因此&a…

创建系统镜像:打包你的Linux环境

如何 将当前Linux 环境 打包成为一个 系统镜像虚拟光盘 在信息技术领域&#xff0c;有时候我们可能需要将当前的Linux系统环境打包成一个虚拟镜像光盘&#xff0c;以便在其他机器上快速部署或进行备份。本文将介绍如何使用Bash脚本自动化这个过程&#xff0c;将你的系统环境打…

SprinBoot+Vue体育商品推荐的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

【深入解析】AI工作流中的HTTP组件:客户端与服务端执行的区别

在当今快速发展的技术环境中&#xff0c;AI工作流的设计和实现变得愈发重要。尤其是在处理HTTP组件时&#xff0c;前端执行与后端执行之间的区别&#xff0c;往往会对系统的安全性和数据的准确性产生深远的影响。今天&#xff0c;我们就来深入探讨这一话题&#xff0c;揭示前端…

MySQL JDBC URL各参数详解

jdbc:mysql://localhost:3306/test?userroot&password123456&useUnicodetrue&characterEncodinggbk &autoReconnecttrue&failOverReadOnlyfalse&serverTimezoneUTC&drivercom.mysql.cj.jdbc.Driver 参数名称参数说明缺省值user指定用于连接数据库…

安卓13禁止声音调节对话框 删除音量调节对话框弹出 屏蔽音量对话框 android13

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析3.1 方法13.2 方法24.代码修改4.1 代码修改方法14.2 代码修改方法25.编译6.彩蛋1.前言 客户需要,调整声音,不显示声音调节对话框了。我们在系统里面隐藏这个对话框。 2.问题分析 android在调整声音的…

JVM性能调优之5种垃圾收集器

JDK垃圾收集器 一、Serial GC垃圾收集器Serial GC的工作原理Serial GC的特点Serial GC的配置参数Serial GC的适用场景Serial GC的优缺点优点&#xff1a;缺点&#xff1a; Serial GC的总结 二、Parallel GC垃圾收集器Parallel GC的工作原理Parallel GC的特点Parallel GC的配置参…

python scrapy爬虫框架 抓取BOSS直聘平台 数据可视化统计分析

使用python scrapy实现BOSS直聘数据抓取分析 前言 随着金秋九月的悄然而至&#xff0c;我们迎来了业界俗称的“金九银十”跳槽黄金季&#xff0c;周围的朋友圈中弥漫着探索新机遇的热烈氛围。然而&#xff0c;作为深耕技术领域的程序员群体&#xff0c;我们往往沉浸在代码的浩…

在VB.net中,如何把20240906转化成日期格式

标题 vb.net中&#xff0c;如何把20240906转化成日期格式 正文 在 VB.NET 中&#xff0c;将一个数字字符串&#xff08;如 "20240906"&#xff09;转换为日期格式&#xff0c;你可以使用 DateTime.Parse 或 DateTime.TryParse 方法。这些方法可以将符合日期格式的字符…

llamafactory微调llama3.1

LLaMA-Factory项目介绍 1.1 LLaMA-Factory的功能特点 LLaMA-Factory是一个专为微调大型语言模型&#xff08;LLMs&#xff09;设计的强大工具&#xff0c;它极大地简化了微调过程&#xff0c;使得即使是非专业人士也能轻松地对模型进行定制化调整。以下是LLaMA-Factory的几个…

学习记录之C语言学习笔记1

1. 数据类型 基本数据类型&#xff1a;整型&#xff08;int&#xff09;、浮点型&#xff08;float&#xff09;、字符型&#xff08;char&#xff09;和双精度浮点型&#xff08;double&#xff09;。 派生数据类型&#xff1a;数组、结构体、联合体和枚举。 void类型…

Python selenium 破解腾讯滑块行为验证码

直接上代码&#xff1a; from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time,re,requests from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from seleniu…

力扣(LeetCode)每日一题 2181. 合并零之间的节点

题目链接https://leetcode.cn/problems/merge-nodes-in-between-zeros/description/?envTypedaily-question&envId2024-09-09 题目描述 给你一个链表的头节点 head &#xff0c;该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val 0 。 对…

数据库进阶:3.SQL优化

1.SQL优化 1.1插入数据 insert优化 批量插入 insert into tb_test values(1,TOM),(2,caT),(3,Jerry);手动提交事务 start transaction&#xff1b; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert i…

部署project_exam_system项目——及容器的编排

&#xff08;一&#xff09;安装docker、编辑daemon.json文件、安装docker-compose编排容器、启动docker 1.环境准备 [rootdocker--1 ~]# rz -Erz waiting to receive.[rootdocker--1 ~]# lsanaconda-ks.cfg docker.sh[rootdocker--1 ~]# source docker.sh [rootdocker--1 ~…