go sarama当中的Producer结构体介绍

Producer struct {
   //最大消息字节数    
   MaxMessageBytes int
   //消费确认方式
    //sarama.WaitForAll(-1)代表leader和follower都接收成功的确认
    //sarama.WaitForLocal(1)代表当leader接收成功时确认
    //sarama.NoResponse(0)代表不进行消息是否成功接收的确认 
   RequiredAcks RequiredAcks

   //持续时间
   Timeout time.Duration
   //对消息使用的压缩类型(默认为不压缩)
   //类似于' compression '。JVM生成器的编解码器设置。
   Compression CompressionCodec
   //消息的压缩级别。意思取决于
   //使用的实际压缩类型,默认为默认压缩
   //编解码器的级别。
   CompressionLevel int
   //生成分区器,用于选择要发送消息的分区
   //(默认为对消息键进行散列)类似于' partitioner.class '
   //设置JVM生产者。
   Partitioner PartitionerConstructor
  

 //是否开启幂等性
   Idempotent bool
   // 指定事务
   Transaction struct {
      // 在事务中使用,通过重启来识别一个生产者实例
      ID string
      //事务保持未解决状态的时间(既不提交也不中止)
      //默认为1分钟
      Timeout time.Duration

      Retry struct {
         //重试发送消息的总次数(默认为50次)。
         //类似于`message.send.max。重试JVM生成器的设置。
         Max int
         //重试之间等待集群解决的时间
         //(默认为10ms)类似于“retry.backoff”。女士的设置
         // JVM生成器。
         Backoff time.Duration
         //动态计算退出时间。对实现有用
         //更复杂的撤退策略。这个优先于
         //设置时' Backoff '。
         BackoffFunc func(retries, maxRetries int) time.Duration
      }
   }

    //返回将被填充的通道。如果它们被设为true,
    //必须从相应的通道中读取,以防止死锁。如果,
    //但是,这个配置是用来创建SyncProducer的,两者都必须设置
    //设置为true,你不会从通道中读取数据,因为生产者读取了
    //同步生产者方式的话这两个值都得设置
    
   Return struct {
      //如果启用,成功传递的消息将返回
      //成功通道(默认禁用 false)。
      Successes bool

      //如果启用,发送失败的消息将返回
      //错误通道,包括错误(默认启用)。
      Errors bool
   }

   //消息重试结构体
   Retry struct {
    //重试发送消息的总次数(默认为3次)。
     //类似于`message.send.max。重试JVM生成器的设置。
      Max int
     //重试等待的时间
      Backoff time.Duration
      //动态计算退出时间。对实现有用
     //更复杂的撤退策略。这个优先于
     //设置时' Backoff '。
      BackoffFunc func(retries, maxRetries int) time.Duration
   }

  //当生产者调度程序读取
  //第一次发送消息。拦截器允许拦截和
  //在消息被发布到Kafka之前可能会改变消息
  //集群。*ProducerMessage被第一个拦截器修改
  // OnSend()被传递给第二个拦截器OnSend(),以此类推
  //拦截器链。
   Interceptors []ProducerInterceptor
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值