妄青山

0 声望

这家伙太懒,什么都没留下

个人动态
  • 妄青山 回复 半兽人kafka发送数据到队列前丢失 中 :

    谢大佬,明天我去复现试试看。

    1年前
  • 半兽人 回复 妄青山kafka发送数据到队列前丢失 中 :

    两台电脑都会发生这种情况吧

    是的,另外一台电脑可能结束的没那么果断,如果数据都是一致的情况下,多试几次就可能复现了。

    核心就是这个原因导致的,程序逻辑就要看你自己找原因了。

    有个点你要注意,如果你的进程持续watch永远不停止,producer理论是长连接,producer是单例,也不会销毁,所以最终消息还是会发送成功。所以如果你每次都是new producer,那么你的设计可能要在改改了。

    1年前
  • 妄青山 回复 半兽人kafka发送数据到队列前丢失 中 :

    回大佬,同样的程序,用的同一个kafka集群,我在不同的电脑上进行了测试,在我本机测试的时候,数据并没有发生数据丢失,我看移动数据的速度大概有300个每秒左右,然后在第二台电脑上移动速度为每秒2800个左右。在第一台电脑上测试了几万条数据都成功发送,第二台电脑上的话就发生了丢失情况。如果按照大佬说的,producer所处的进程(线程)结束了,没来得及发送出去,应该是两台电脑都会发生这种情况吧(程序都是一样的
    所以我怀疑是因为生成文件的速率太快了,send来不及发送就将数据丢弃了。

    1年前
  • 半兽人 回复 妄青山kafka发送数据到队列前丢失 中 :

    只有这一种情况的,你加了休眠,就不丢了呀。
    核心其实就是producer所处的进程(线程也一样)结束了,所以它也跟着结束了,但是消息还没来得及发。

    1年前
  • 妄青山 回复 半兽人kafka发送数据到队列前丢失 中 :

    谢大佬,可能我没讲清楚,是这么个情况,具体我是使用python watchdog 在不断监控文件夹下产生文件的情况,并不是循环发送数据,文件夹新增一个文件我就会send一次文件路径到kafka中,我将1000个左右的文件移动到监控的文件夹下,sum的数量就为正常的1000,并都可以正常传输到kafka,但数量增加到1500个左右后就会丢失数据,sum的数量就少于1500。

    我怀疑是不是send没有成功,某个环节将数据丢弃了。

    1年前
  • 订阅了 kafka 主题! · 1年前
  • 1年前