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

kafka 配置消息编码格式、解决消费者中文乱码

序列化

kafka 发送消息需要把key 和value 进行序列化处理

一般配置字符串方式,如果消息量大需要优化成其他方式。

代码配置

props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("serializer.encoding", "UTF-8"); // 设置编码格式
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("deserializer.encoding", "UTF-8"); // 设置编码格式

配置文件配置

spring:
  kafka:
    auto:
      initTopic: false
    bootstrap-servers: *****
    consumer:
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      enable-auto-commit: false
      properties:
        security:
          protocol: SASL_PLAINTEXT
        sasl:
          mechanism: PLAIN
          jaas:
            config: org.apache.kafka.common.security.plain.PlainLoginModule required username="*****" password="****";
    producer: # 生产者
      retries: 1 # 设置大于0的值,则客户端会将发送失败的记录重新发送
      # 每次批量发送消息的数量
      batch-size: 16384
      buffer-memory: 33554432
      # 指定消息key和消息体的编解码方式
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
      properties:
        security:
          protocol: SASL_PLAINTEXT
        sasl:
          mechanism: PLAIN
          jaas:
            config: org.apache.kafka.common.security.plain.PlainLoginModule required username="******" password="******";
    listener:
      missing-topics-fatal: false
      ack-mode: manual
  

这里没有配置编码格式的地方,那么分析一下源码,发现可以这样写

参考资料:https://www.fancv.com/article/1733134314


http://www.kler.cn/a/422130.html

相关文章:

  • 开发工具WebStorm,VSCode,HbuilderX
  • 基于STM32设计的智能家居控制系统(华为云IOT)_275
  • 常见问题QA的前端代码
  • Day4:生信新手笔记 — R语言简单命令与Rstudio配置
  • 【docker】Overlay网络
  • 【包教包会】CocosCreator3.x——重写Sprite,圆角、3D翻转、纹理循环、可合批调色板、不影响子节点的位移旋转缩放透明度
  • uniapp动态表单
  • Llama模型分布式训练(微调)
  • 在RK3588/RK3588s中提升yolov8推理速度
  • WPF_2
  • IOS ARKit进行图像识别
  • 05云计算HCIA学习笔记
  • Git操作学习2
  • Simulink的SIL软件在环测试
  • Modern Effective C++ 条款二十九三十:移动语义和完美转发失败的情况
  • 基于Matlab实现三维点坐标生成点云(源码+数据)
  • IDEA中Maven相关使用
  • IDEA中更改了项目模块名,IDEA丢失该模块的问题
  • 基于Java Springboot武汉市公交路线查询APP且微信小程序
  • elasticsearch 8.x常用命令
  • 容器运行应用及Docker命令
  • SpringBoot 基于 MVC 高校办公室行政事务管理系统:设计构思与实现范例展示
  • XRP 深度解析:从技术到 Meme 币交易指南
  • TCP/IP 9 网络安全
  • C# CancellationToken 终止操作
  • Java入门:22.集合的特点,List,Set和Map集合的使用