kafka异步发送数据,不阻塞
2017-08-21 09:25
281 查看
kafka生产者默认是回执机制的,即必须确认服务端(server)处理过数据之后才能算是发送完成。虽然生产者会使用线程池处理这些业务,但如果kafka的服务端挂掉生产者也会进行阻塞。
kafka日志收集上线之前,测试的时候就发生过关掉kafka服务端后页面访问非常缓慢,结果找到原因是因为如果kafka生产者没连接到服务端就会进行6秒的阻塞。这对需要嵌入到各个子系统的分布式应用来说存在很大的隐患。
可以通过设置配置选项让kafka生产者不进行阻塞
max.block.ms 控制block的时长,当buffer空间不够或者metadata丢失时产生阻塞(block) 默认时长6000毫秒
props.put(“max.block.ms”, “0”);
kafka日志收集上线之前,测试的时候就发生过关掉kafka服务端后页面访问非常缓慢,结果找到原因是因为如果kafka生产者没连接到服务端就会进行6秒的阻塞。这对需要嵌入到各个子系统的分布式应用来说存在很大的隐患。
可以通过设置配置选项让kafka生产者不进行阻塞
max.block.ms 控制block的时长,当buffer空间不够或者metadata丢失时产生阻塞(block) 默认时长6000毫秒
props.put(“max.block.ms”, “0”);
相关文章推荐
- kafka 札记-----kafka producer 端 发送数据分为 同步(实时)和异步(达到设定发送条件)
- 原生JS发送异步数据请求
- [JAVA]Socket中BufferedReader.readLine()的阻塞特性导致的数据无法多次发送的问题
- kafka java中发送数据、连接失败问题解决
- Vue--axios:vue中的ajax异步请求(发送和请求数据)、vue-resource异步请求和跨域
- javascript发送表单文件,ajax异步,不刷新页面上传PDF文件,并写入数据库,得到异步数据,提示上传成功或失败
- .net 中异步SOCKET发送数据时碰到的内存问题 (二)
- 使用消息队列 异步插入数据,能发送消息,但是无法读取消息
- kafka源码解析之十六生产者流程(客户端如何向topic发送数据)
- kafka-python批量发送数据的方法
- 面试题:非阻塞tcp socket调用close时缓冲区未发送数据的处理逻辑
- logstash通过codec将完整的数据发送到kafka
- C#网络Socket的数据发送与接收处理(利用异步)的模板(模式)
- kafka java中发送数据、连接失败问题解决
- 异步SOCKET编程-发送和接收数据异步事件触发
- 异步SOCKET编程-发送和接收数据
- 异步 SOCKET 编程 - 发送和接收数据
- Android 利用异步任务AsyncTask发送post请求获取json数据
- TCP send函数 阻塞发送数据详解
- kafka java中发送数据、连接失败问题解决