Kafka3.0.0版本——生产者如何提高吞吐量

news2025/1/16 14:42:13

目录

    • 一、生产者提高吞吐量参数设置
    • 二、产者提高吞吐量代码示例

一、生产者提高吞吐量参数设置

  • batch.size:设置批次大小,默认16k
  • linger.ms:设置等待时间,修改为5-100ms
  • buffer.memory:设置缓冲区大小, 默认 32M
  • compression.type:设置压缩,默认 none,可配置值 gzip、snappy、lz4 和 zstd

二、产者提高吞吐量代码示例

  • 代码示例

    package com.xz.kafka.producer;
    
    import org.apache.kafka.clients.producer.*;
    import org.apache.kafka.common.serialization.StringSerializer;
    import java.util.Properties;
    /**
     * 生产者提高吞吐量
     * 1、设置批次大小,batch.size 默认 16K
     * 2、设置等待时间,linger.ms 默认 0
     * 3、设置缓冲区大小,buffer.memory 默认 32M
     * 4、设置压缩, compression.type 默认 none,可配置值 gzip、snappy、lz4 和 zstd
     * */
    public class CustomProducerParameters {
    
        public static void main(String[] args) throws InterruptedException {
    
            //1、创建 kafka 生产者的配置对象
            Properties properties = new Properties();
    
            //2、给 kafka 配置对象添加配置信息:bootstrap.servers
            properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.136.27:9092,192.168.136.28:9092,192.168.136.29:9092");
    
            //3、指定对应的key和value的序列化类型 key.serializer value.serializer
            properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
            properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());
    
            /**
             * 4、提高吞吐量
             * */
            //设置缓冲区大小
            properties.put(ProducerConfig.BUFFER_MEMORY_CONFIG,33554432);
            //设置批次大小
            properties.put(ProducerConfig.BATCH_SIZE_CONFIG,16384);
            //设置等待时间 linger.ms
            properties.put(ProducerConfig.LINGER_MS_CONFIG, 1);
            //设置压缩
            properties.put(ProducerConfig.COMPRESSION_TYPE_CONFIG,"snappy");
    
    
            //5、创建生产者
            KafkaProducer<String, String> kafkaProducer = new KafkaProducer<>(properties);
    
            //6、调用 send 方法,发送消息
            for (int i = 0; i < 5; i++) {
                kafkaProducer.send(new ProducerRecord<>("news", "hello kafka" + i), new Callback() {
                    @Override
                    public void onCompletion(RecordMetadata metadata, Exception exception) {
                        if (exception == null){
                            System.out.println("主题: "+metadata.topic() + " 分区: "+ metadata.partition());
                        }
                    }
                });
                Thread.sleep(2);
            }
    
            //7、关闭资源
            kafkaProducer.close();
        }
    }
    
    
  • 在三台服务器上开启 Kafka 消费者

    [root@localhost kafka-3.0.0]#  bin/kafka-console-consumer.sh --bootstrap-server 192.168.136.29:9092 --topic news
    
  • 在 IDEA 中执行代码,观察 三台服务器控制台中是否接收到消息,如下图:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/829784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字孪生电力:让电力智能化

随着科技的飞速发展&#xff0c;电力行业的智能化进程不断推进。智慧电力可以实现系统管理和能源分配的优化&#xff0c;实现电力行业的降本增效。以下主要介绍易知微科技有限公司为湖南国网建设的电力项目案例。 一、行业背景 1.1 政策背景 2014年12月获国务院常务会议原则通过…

抄写Linux源码(Day3:启动南大OS)

我们可以尝试启动南大OS&#xff0c;接着阅读南大OS源码&#xff0c;看看 JYY/YZH 构建主引导扇区的手段 &#xff08;注意&#xff1a;我使用的是南大2023年的 OS 实验代码&#xff09; https://jyywiki.cn/OS/2023/labs/Labs 首先&#xff0c;根据 JYY 的文档&#xff0c;…

jenkins gitlab多分支构建发布

内容背景介绍 这个是新手教程,普及概念为主 公司现在还使用单分支发布测试环境和生产,多人协同开发同一个项目导致测试环境占用等待等情况 测试环境占用等待问题 测试环境代码直接合并到 master,容易导致误发布到生产的情况 避免多版本同时发布测试不完善的情况出现 中间件…

汇川伺服驱动器整理

额定电压&#xff08;V&#xff09;功率&#xff08;KW&#xff09;额定输入电流&#xff08;A&#xff09;系数乘系数电流&#xff08;A&#xff09;推荐断路器电流&#xff08;A&#xff09;单相220V0.22.31.53.4540.441.5660.757.91.511.851619.61.514.4161.512.81.519.220三…

【100天精通python】Day24:python 迭代器,生成器,修饰器应用详解与示例

目录 专栏导读 1 迭代器&#xff0c;生成器&#xff0c;修饰器概述 1.1 概述 1.2 应用场景 2 语法与示例 2.1 迭代器 2.2 生成器 2.3 修饰器 3 综合应用案例 专栏导读 专栏订阅地址&#xff1a;https://blog.csdn.net/qq_35831906/category_12375510.html 1 迭代器&a…

助力工业物联网,工业大数据之ST层的设计【二十五】

文章目录 04&#xff1a;ST层的设计05&#xff1a;服务域&#xff1a;工单主题分析06&#xff1a;服务域&#xff1a;工单主题实现 04&#xff1a;ST层的设计 目标&#xff1a;掌握ST层的设计 路径 step1&#xff1a;功能step2&#xff1a;来源step3&#xff1a;需求 实施 功…

HTML之表单标签

目录 表单标签 Form表单 定义&#xff1a; 基本语法结构&#xff1a; form属性&#xff1a; enctyoe属性 fieldeset标签 fieldeset属性 legend标签 label标签 优势 label属性 input标签 input属性 input标签中的type属性 text text输入框有以下配套属性 searc bu…

【Android】控件与布局入门 - 简易计算器

目录 1. 基础开发环境 2. 计算器的布局和相关按钮 3. 计算器的主要运算逻辑 4. APK 文件 5. 项目源码 1. 基础开发环境 JDK&#xff1a;JDK17 Android Studio&#xff1a;Android Studio Giraffe | 2022.3.1 Android SDK&#xff1a;Android API 34 Gradle: gradle-8.0-bi…

大屏可视化(VUE2 + DataV)

准备&#xff1a;安装vue脚手架&#xff08;vue/cli&#xff09;&#xff0c;创建vue2项目&#xff0c;安装dataV&#xff0c;在main.js入口文件中引入dataV。 dataV地址&#xff1a;DataV 一、dataV安装 npm install jiaminghi/data-view 二、main.js import Vue from vu…

postgis mvt矢量切片 django drf mapboxgl

postgis mvt矢量切片 django drf mapboxgl 0.前提 [1] 静态的矢量切片可以采用 tippecanoe 生成&#xff0c;nginx代理&#xff0c;这种数据是不更新的&#xff1b; [2] 动态的矢量切片&#xff0c;一般采用postgis生成。基本上矢量切片80%的厂商都采用postgis&#xff0c;确实…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)七:工作台界面实现

一、本章内容 本章实现工作台界面相关内容,包括echart框架引入,mock框架引入等,实现工作台界面框架搭建,数据加载。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 基于VUE3+Layui从头搭建通用后台管理系统合集-工作台界面布局实现 五、…

大麦订单生成器 大麦一键生成订单

后台一键生成链接&#xff0c;独立后台管理 教程&#xff1a;修改数据库config/Conn.php 不会可以看源码里有教程 下载源码程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

上榜 Gartner | 中国领先的实时数据管理厂商 DolphinDB

在 Gartner 近日发布的 Hype Cycle for Data, Analytics and AI in China, 2023 报告中&#xff0c;DolphinDB 位列实时数据管理代表厂商。这是自去年 DolphinDB 入选 Gartner《中国数据库管理系统供应商甄选》后&#xff0c;又一次凭借领先的产品能力获得国际权威第三方分析机…

Python(五十九)字典的实现原理

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

【css】css实现水平和垂直居中

通过 justify-content 和 align-items设置水平和垂直居中&#xff0c; justify-content 设置水平方向&#xff0c;align-items设置垂直方向。 代码&#xff1a; <style> .center {display: flex;justify-content: center;align-items: center;height: 200px;border: 3px…

DM开启慢日志监控并用DmLog工具分析数据

工具描述 DMLOG用于对达梦SQL日志进行统计分析&#xff0c;便于SQL优化人员进行查看捕获关键信息&#xff0c;不提供SQL优化建议。DMLOG用java语言编写&#xff0c;不受操作系统平台限制&#xff0c;大小不超过10M&#xff0c;在安装好Java环境后&#xff0c;可在各平台运行。 …

全面了解CPU Profiler:解读CPU性能分析工具的核心功能与用法

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、使用3.1 通过调用系统API3.2 通过Android Stu…

填补5G物联一张网,美格智能快速推进RedCap商用落地

自5G R17版本标准冻结以来&#xff0c;RedCap一直引人注目。2023年更是5G RedCap突破性发展的一年&#xff0c;从首款5G RedCap调制解调器及射频系统——骁龙X35发布&#xff0c;到国内四大运营商发布RedCap技术白皮书&#xff0c;芯片厂商、模组厂商、运营商及终端企业都在积极…

MySQL索引题分析

前言&#xff1a;该篇随笔通过一些案例&#xff0c;对索引相关的题进行分析。 0.准备 #1.创建test表&#xff08;测试表&#xff09;。 drop table if exists test; create table test( id int primary key auto_increment, c1 varchar(10), c2 varchar(10), c3 varchar(10), …

KCC@南京开源读书会-开源大咖云聚南京等你来

KCC&#xff0c;全称 KAIYUANSHE City Community&#xff08;中文&#xff1a;开源社城市社区&#xff09;是由开源社发起&#xff0c;旨在让开源社区在每个城市落地生根的地域性开源组织。自2023年2月份发起以来&#xff0c;我们已经在南京、上海、深圳、北京、硅谷、新加坡、…