我在异步模式下使用kafka生产者,但是当所有代理都关闭时,它的行为就像同步一样,并等待metadata.fetch.timeout.ms过期,这对我的情况来说是60秒。我的第一个问题,这是一个正常的行为,或者我做错了什么?在kafka中处理代理
由于我的逻辑中的事务应该在最大100毫秒内完成,所以这个超时值对我来说是一个非常大的延迟。也许设置metadata.fetch.timeout.ms到10毫秒可能会解决我的问题,但我不知道这是如何影响我的系统。这是否会在某处导致CPU瓶颈或大量消耗?
另一种可能的解决方案可能是在executorservice中生成消息,这使得生产真的异步,但我不想让事情更复杂。有没有人尝试过吗?
我的最后一个问题是,如果所有经纪人都关闭了,并且所有经纪人都启动了,那么我可能会使用开关机制来禁用生产到卡夫卡。 kafka有没有任何心跳问题的功能?
谢谢。