由于是大数据,打日志相对麻烦,使用玄坤大法,选点打日志,才把这个bug纠出来。

使用库:sarama

addrs := strings.Split(config.Kafka.RealBroker, ",")
kafkaConfig := sarama.NewConfig()
kafkaConfig.Producer.Timeout = 3
kafkaConfig.Producer.Return.Errors = false //设置成false,防止失败过多,没有消费导致阻塞,而且不是必现,极难排查
kafkaConfig.Producer.Return.Successes = false
kafkaConfig.Producer.MaxMessageBytes = 50 * 1024 * 1024
producer, err := sarama.NewAsyncProducer(addrs, kafkaConfig)
if err != nil {log.Println("new async producer err: ", err)_,file,line,_ := runtime.Caller(0)dingding.PushMessage(fmt.Sprintf("new async producer err:%v file:%s line:%d",err,file,line))return err
}
conn.KafkaProducer = producer

如果kafkaConfig.Producer.Return.Errors和kafkaConfig.Producer.Return.Successes设置为true,则一定要有相应的消费channel的代码,否则可能发生消息阻塞。

go应用程序写kafka阻塞(大坑)相关推荐

  1. Java程序创建Kafka Topic,以及数据生产消费,常用的命令

    转自: Java程序创建Kafka Topic,以及数据生产消费,常用的命令_Zyy_z_的博客-CSDN博客_java kafka创建topicKafka简介: Kafka是一个分布式发布--订阅消 ...

  2. 阿里P8架构大神分享纯手写“kafka文档”看完直呼太牛!

    什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系 ...

  3. 每个c语言程序写完后 都要按照,c语言基础学习小结(习题总结)(5页)-原创力文档...

    书山有路勤为径 学海无涯苦作舟 一.思考题. 1.你如何向别人解释清楚什么是编程.什么是计算机语言? 2.什么是C语言? 二.解答题. 1.用C语言编写程序:求任意两个整数的和.如果是小数的话,要求输 ...

  4. 展望2015把C++版本的掼蛋程序写好

     展望2015把C++版本的掼蛋程序写好 2015年,用四个字总结"挂了,活了".在CSDN这么多年,就像是一个家一样. 所谓挂了,就是挂科了,班长没了.以产生的一系列的结果, ...

  5. 网络通信程序写起来很难专业课没问题

    这时,hongjin2还在一家私营公司里打工,于是,白天上班,晚上就挑灯夜战,每晚不到12点不休息.经过半年的复习,hongjin2参加了1997年元月的整个网站研究生入学考试,成绩出来,网络通信程序 ...

  6. 程序写不好,总理当到老!

    导读:自古英雄出少年,可惜不想当总理,只想当个程序员. 最近HackNext网站有一个贴子引发网友热议,一位叫Lihaoyi的作者宣布自己刚刚写了一本叫<动手Scala编程>的书,表示自己 ...

  7. noip2014到2017初赛普及组看程序写结果、完善程序

    一晃又是noip2018了 今天先进行普及组初赛摸底 计划做两套题(noip2016.noip2014,这两套题比较中规中矩),分析一下大家的知识点缺陷,然后每个人再进行有针对性的学习. 重点是 看程 ...

  8. 数据库阻塞---讲解设计应用程序时避免阻塞的八个准则

    当来自应用程序的第一个连接控制锁而第二个连接需要相冲突的锁类型时,将发生阻塞.其结果是强制第二个连接等待,而在第一个连接上阻塞.不管是来自同一应用程序还是另外一台客户机上单独的应用程序,一个连接都可以 ...

  9. C语言(11),用程序写简单图形。

    (今天进行对一些实例进行编程,来自牛客网初学者入门训练) 以下为一个系列,用程序写出一个图形: 1. 输入描述:多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数. 输出描述:针对每行输 ...

最新文章

  1. 基于OpenCV的位姿估计
  2. Windows8 正式版最简单的去除桌面水印方法
  3. dmx512协议c语言编程,DMX512协议+c程序代码.pdf
  4. C++Bogo Sort猴子排序的实现算法(附完整源码)
  5. 线程池,封装使用,实现控制子线程
  6. python子进程修改父进程内变量_如何将父变量传递给python中的子进程?
  7. 代码中log一直报错
  8. 主成份分析(PCA)——原理、实现步骤
  9. 中国期货交易技术的逆袭之路
  10. 陕西省单招计算机应用考什么,陕西省对口单招计算机应用基础模拟试题四
  11. mysql做时间判断_mysql关于时间函数的判断
  12. 《Java完全参考手册》总结(1)
  13. 27 log4j2发送Syslog日志出现乱码错误
  14. 计算机编程php网页源码水果网上销售系统mysql数据库web结构html布局
  15. Node.js 解压版 安装配置
  16. bittorrent 学习(一) 种子文件分析与bitmap位图
  17. 谷歌、百度循环多次翻译、语音下载python脚本
  18. 八、vue_options之computed、watch属性选项
  19. 杭电考研经验贴———报考计算机专业,慎重!!!
  20. 滤波器中截止频率的理解

热门文章

  1. iOS 9.0以后支持http协议
  2. java.util.Date和java.sql.Date之间的相互转换
  3. AndroidOS体系结构
  4. 选择“关机”还是“睡眠”?
  5. [Android] The connection to adb is down, and a severe error has occured
  6. 算法知识之最长公共子序列问题(动态规划)
  7. Github之深入解析Ruby Gems缓存
  8. OpenGL ES之GLSL常用内建函数
  9. Python:matplotlib绘图
  10. LeetCode Algorithm 606. 根据二叉树创建字符串