zoukankan      html  css  js  c++  java
  • 【转】 详解Kafka生产者Producer配置

    粘贴一下这个配置,与我自己的程序做对比,看看能不能完善我的异步带代码;
     
    -----------------------------------------
     
     详解Kafka生产者Producer配置
    2016-04-26 14:57:50
    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://favccxx.blog.51cto.com/2890523/1767882

    基本配置

     

    metadata.broker.list:broker服务器集群列表,格式为 host1:port1, host2:port2 ...

    producer.type:消息发送类型同步还是异步,默认为同步

    compression.codec:消息的压缩格式,默认为none不压缩,也可以为gzip, snappy, lz4

    serializer.class:消息加密格式,默认为kafka.serializer.DefaultEncoder

    compressed.topics:主题的压缩格式,可以为'gzip', 'snappy', lz4

    异步生产者配置

    queue.buffering.max.ms:生产者异步缓存数据的最大时间,单位毫秒

    queue.buffering.max.messages:生产者异步缓存消息的最大容量

    queue.enqueue.timeout.ms:队列超时事件。0,如果队列满了就放弃;-ve,如果队列满了就会永远阻塞;+ve,如果队列满了会阻塞一段时间。

    batch.num.messages:生产者可以批量处理的消息数

    Java客户端消费者常用配置

     

    bootstrap.servers:broker服务器集群列表,格式为 host1:port1, host2:port2 

    key.serializer:定义序列化的接口,建议为org.apache.kafka.common.serialization.StringSerializer

    value.serializer:实现序列化接口的类,建议为org.apache.kafka.common.serialization.StringSerializer

    acks:配置可以设定发送消息后是否需要Broker端返回确认

        0:不需要进行确认,速度最快。存在丢失数据的风险。

        1:仅需要Leader进行确认,不需要ISR进行确认。是一种效率和安全折中的方式。

        all:需要ISR中所有的Replica给予接收确认,速度最慢,安全性最高,但是由于ISR可能会缩小到仅包含一个Replica,所以设置参数为all并不能一定避免数据丢失。

    buffer.memory:生产者的缓村容量,如果记录发送的比传输到服务器的速度快,要么是生产者阻塞,要么是配置的block.on.buffer.full缓存区满了。默认大小为32M

    compression.type:生产者生成的所有数据压缩格式,默认不压缩,还可以为gzip, snappy, or lz4

    linger.ms:Producer默认会把两次发送时间间隔内收集到的所有Requests进行一次聚合然后再发送,以此提高吞吐量,而linger.ms则更进一步,这个参数为每次发送增加一些delay,以此来聚合更多的Message。

    本文出自 “这个人的IT世界” 博客,请务必保留此出处http://favccxx.blog.51cto.com/2890523/1767882

  • 相关阅读:
    2021年4月28日
    2021年4月18日
    2021年3月4日
    2020年11月20日
    20201112
    ThreadLocal原理分析
    git与gitlab
    DevOps与CICD简介
    代码扫描利器sonarqube
    看完小白也会使用,Android投屏神器scrcpy详细教程
  • 原文地址:https://www.cnblogs.com/the-tops/p/6046487.html
Copyright © 2011-2022 走看看