当前位置: 首页 > news >正文

kafka快速部署、集成、调优

kafka快速部署、集成、调优

1.部署

1.1 docker部署

参考:https://blog.csdn.net/taotao_guiwang/article/details/135508643
在这里插入图片描述

1.2 kafka部署

  • 资源见,百度网盘:https://pan.baidu.com/s/1qlabJ7m8BDm77GbDuHmbNQ?pwd=41ac
    在这里插入图片描述

  • 修改配置文件,说明要在那个机器上部署:
    在这里插入图片描述

  • 执行kafka_zk_install.sh,开始部署:

# 赋权,在kafka_zk_install目录,执行:
chmod -R 777 .
# 执行
./kafka_zk_install.sh

在这里插入图片描述

2. spring boot集成

核心代码,KafkaController.java:

package com.kafka;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class KafkaController {private final static String TOPIC_NAME = "my-replicated-topic";@Autowiredprivate KafkaTemplate<String, String> kafkaTemplate;@RequestMapping("/send")public void send() {kafkaTemplate.send(TOPIC_NAME, 0, "key", "this is a msg");}}

MyConsumer.java:

package com.kafka;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class KafkaController {private final static String TOPIC_NAME = "my-replicated-topic";@Autowiredprivate KafkaTemplate<String, String> kafkaTemplate;@RequestMapping("/send")public void send() {kafkaTemplate.send(TOPIC_NAME, 0, "key", "this is a msg");}}

application.yml:

server:port: 8080spring:kafka:bootstrap-servers: 10.86.97.210:9092,10.86.97.210:9093,10.86.97.210:9094producer: # 生产者retries: 3 # 设置大于0的值,则客户端会将发送失败的记录重新发送batch-size: 16384buffer-memory: 33554432acks: 1# 指定消息key和消息体的编解码方式key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerconsumer:group-id: default-groupenable-auto-commit: falseauto-offset-reset: earliestkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializerlistener:# 当每一条记录被消费者监听器(ListenerConsumer)处理之后提交# RECORD# 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后提交# BATCH# 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,距离上次提交时间大于TIME时提交# TIME# 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,被处理record数量大于等于COUNT时提交# COUNT# TIME | COUNT 有一个条件满足时提交# COUNT_TIME# 当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后, 手动调用Acknowledgment.acknowledge()后提交# MANUAL# 手动调用Acknowledgment.acknowledge()后立即提交# MANUAL_IMMEDIATEack-mode: MANUAL_IMMEDIATE

浏览器访问:
http://localhost:8080/send

控制台打印:
在这里插入图片描述

3.相关资源

百度网盘:https://pan.baidu.com/s/1qlabJ7m8BDm77GbDuHmbNQ?pwd=41ac

在这里插入图片描述

http://www.lryc.cn/news/607411.html

相关文章:

  • 力扣 hot100 Day62
  • 机器学习sklearn:编码、哑变量、二值化和分段
  • TCP协议的特点和首部格式
  • 同品牌的系列广告要如何保证宣传的连贯性?
  • 广东省省考备考(第六十三天8.1)——判断推理(强化训练)
  • 国产开源大模型崛起:使用Kimi K2/Qwen2/GLM-4.5搭建编程助手
  • Galaxea机器人由星海图人工智能科技有限公司研发的高性能仿人形机器人
  • 大模型结构比较
  • uniapp 开发微信小程序,获取经纬度(uni.getLocation)并且转化详细地址(‌高德地图逆地理编码API、‌腾讯地图逆地理编码)
  • SIP 呼叫中实现远端摄像头控制学习笔记
  • axios请求的取消
  • 什么是链游
  • Spring Boot Actuator 保姆级教程
  • JavaWeb--Student2025项目:增删改查
  • 七彩喜艾灸机器人:让传统艾灸变简单,健康养生触手可及
  • HarmonyOS 应用拉起系列(一):应用与元服务互通方式
  • 乐观锁是数据库和多线程编程中常用的一种控制并发的方法
  • 【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)
  • 伞状Meta分析重构癌症幸存者照护指南:从矛盾证据到精准决策
  • OSPF综合实验报告册
  • 从游戏NPC到手术助手:Agent AI重构多模态交互,具身智能打开AGI新大门
  • 基于倍增的LCA + kruskal重构树 + 并查集
  • 第三章 网络安全基础(一)
  • 【Redis】key的设计格式
  • dolphinscheduler中一个脚本用于从列定义中提取列名列表
  • 香港正式启动稳定币牌照制度!推动中国的人民币国际化?
  • SQL中的LEFT JOIN
  • 微服务的编程测评系统9-竞赛新增-竞赛编辑
  • Flask一个用户同时只能在一处登录实现
  • Linux网络:多路转接 epoll