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

kafka配置

1. bootstrap.servers 配置

props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
  • 问题bootstrap.servers 只配置了一个Broker地址(127.0.0.1:9092)。如果这是一个生产环境,单点配置可能会导致单点故障。

  • 建议:在生产环境中,建议配置多个Broker地址(逗号分隔),以提高可用性。例如:

    props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094");


2. group.id 配置

props.setProperty(ConsumerConfig.GROUP_ID_CONFIG, "test-app1");
  • 问题group.id 是消费者的组ID,用于标识一组消费者。如果多个消费者使用相同的 group.id,它们会协同消费同一个主题的分区。

  • 建议:确保 group.id 的唯一性和可读性,避免与其他消费者组冲突。如果这是一个测试环境,test-app1 是合理的;但在生产环境中,建议使用更具描述性的名称。


3. auto.offset.reset 配置

props.setProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
  • 问题auto.offset.reset 设置为 earliest,表示如果消费者组没有初始的偏移量(例如第一次启动),则会从最早的消息开始消费。这可能会导致消费者处理大量历史数据。

  • 建议

    • 如果是测试环境,earliest 是合理的,方便从头消费数据。

    • 如果是生产环境,建议设置为 latest,以避免处理历史数据,除非确实需要从头消费。

    • 如果需要更精细的控制,可以考虑手动管理偏移量(enable.auto.commit=false)。


4. enable.auto.commit 未配置

  • 问题:配置中没有显式设置 enable.auto.commit,默认值为 true,即消费者会自动提交偏移量。

  • 建议

    • 如果对消息处理的可靠性要求较高,建议将 enable.auto.commit 设置为 false,并在消息处理完成后手动提交偏移量,以避免消息丢失或重复消费。

    • 示例:

      java

      复制

      props.setProperty(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");

5. key.deserializer 和 value.deserializer 配置

java

复制

props.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
props.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, ByteArrayDeserializer.class.getName());
  • 问题key.deserializer 使用 StringDeserializer,而 value.deserializer 使用 ByteArrayDeserializer。这种配置是合理的,但需要确保生产者端使用了对应的序列化器(StringSerializer 和 ByteArraySerializer)。

  • 建议:检查生产者的序列化配置,确保与消费者端的反序列化配置一致。


6. topic 名称

java

复制

String topic = "1.20001";
  • 问题:主题名称 1.20001 看起来像是一个数字标识,可能缺乏描述性。

  • 建议:主题名称应具有描述性,便于理解和维护。例如,可以使用更具业务意义的名称,如 user-events 或 order-updates


7. 其他可能缺失的配置

  • max.poll.records控制每次 poll 调用返回的最大记录数。默认值可能较大,可能导致处理延迟。可以根据业务需求调整。

    java

    复制

    props.setProperty(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, "100");
  • session.timeout.ms 和 heartbeat.interval.ms:如果消费者处理消息的时间较长,可能需要调整这些参数,以避免消费者被错误地认为已失效。

    java

    复制

    props.setProperty(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "30000");
    props.setProperty(ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, "10000");
  • fetch.min.bytes 和 fetch.max.wait.ms:控制消费者从Broker拉取数据的行为,可以根据网络延迟和吞吐量需求进行调整。


文章转载自:

http://bZ8u4r0s.fktLr.cn
http://OPJXO58k.fktLr.cn
http://bcDMRL02.fktLr.cn
http://q6DbMROg.fktLr.cn
http://qMJqrhrD.fktLr.cn
http://f8Eu8bcJ.fktLr.cn
http://eBrv8kIJ.fktLr.cn
http://vFm4AQtP.fktLr.cn
http://QPMK31S4.fktLr.cn
http://N4HtGFBO.fktLr.cn
http://wWpuTJ74.fktLr.cn
http://0u62qejL.fktLr.cn
http://jFLC0YXD.fktLr.cn
http://kwIYBdtR.fktLr.cn
http://5MgokzXb.fktLr.cn
http://eY1DKXzF.fktLr.cn
http://IcdyZz4v.fktLr.cn
http://TO01oASh.fktLr.cn
http://FeUGrW2p.fktLr.cn
http://LnDnM5wI.fktLr.cn
http://HrCD4m46.fktLr.cn
http://4Lf565HK.fktLr.cn
http://4PWoocLi.fktLr.cn
http://ttFWtPcL.fktLr.cn
http://DJnFdhCb.fktLr.cn
http://YmBMyvfp.fktLr.cn
http://Fz6Wls1M.fktLr.cn
http://O3UDHzoS.fktLr.cn
http://DmtxKQ0q.fktLr.cn
http://nmhMIzdQ.fktLr.cn
http://www.dtcms.com/a/52585.html

相关文章:

  • 迷你世界脚本文字板接口:Graphics
  • 掌握 Python 高级特性:深入理解迭代器与生成器
  • 城市地质安全专题连载⑧ | 强化工程地质安全保障力度,为工程项目全栈护航
  • 【Aioredis实战总结】如何修改aioredis的最大连接数。
  • 带你从入门到精通——自然语言处理(五. Transformer中的自注意力机制和输入部分)
  • 泛型存储,在需求不稳定的中小型项目里,多用JSON作为存储类型可以带来哪些收益
  • perl初试
  • 网络服务之SSH协议
  • 【计算机视觉】手势识别
  • DeepSeek R1大语言模型实战工作坊02:deepseek发展演进
  • linux nginx 安装后,发现SSL模块未安装,如何处理?
  • AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台
  • 基于物联网技术的电动车防盗系统设计(论文+源码)
  • 【星云 Orbit • STM32F4】07. 用判断数据尾来接收据的串口通用程序框架
  • linux服务器根据内核架构下载各种软件依赖插件(例子:Anolis服务器ARM64架构内核Nginx依赖插件下载)
  • golang反射
  • cenos7网络安全检查
  • 机器学习——回归树
  • 前端基础之动画效果
  • 信贷风控系统架构设计
  • opencompass框架测试Deepseek使用教程
  • 【ORACLE】ORACLE19C在19.13版本前的一个严重BUG-24761824
  • js操作字符串的常用方法
  • 【万字长文】基于大模型的数据合成(增强)及标注
  • Pytorch的一小步,昇腾芯片的一大步
  • 【Elasticsearch】reindex
  • Pythonweb开发框架—Flask工程创建和@app.route使用详解
  • 33.C++二叉树进阶1(二叉搜索树两种模型及其应用)
  • 计算机毕业设计SpringBoot+Vue.js毕业设计管理系统(源码+文档+PPT+讲解)
  • FPGA学习篇——Verilog学习4