kkman007 2019-11-18 22:10 采纳率: 0%
浏览 512

在docker容器里kafka生产者(java客户端)消息发送不出去!!

在我们项目实施过程,部署在docker容器里应用需要用kafka客户端发送不出消息,但是同样应用部署在物理机(该容器所在物理机)上,kafka客户端可以发送消息;然后我们在docker容器里的kafka客户端生产者增加调整两个参数linger.ms、batch.size,这样在容器里kafa客户端就可以发送。现在不知道在容器里和在物理机上对于linger.ms、batch.size这两个默认参数有什么区别?

  • 写回答

1条回答 默认 最新

  • yychen_java 2024-02-27 16:29
    关注

    在 Docker 容器和物理机上运行 Kafka 客户端时,对于 linger.ms 和 batch.size 这两个参数的默认设置有所不同。主要用于调整 Kafka 生产者的性能和批量发送消息的方式。

    linger.ms(发送延迟):

    linger.ms 参数表示生产者在发送消息之前等待的时间,以便允许更多的消息进行批处理。较长的 linger.ms 可能会导致消息在缓冲区中等待更长时间,以便打包在一起发送,从而减少网络开销。
    在 Docker 容器中和物理机上,默认的 linger.ms 设置可能会受到不同的环境因素影响,比如网络延迟、资源限制等。因此,在不同环境下可能需要调整这个参数以获得最佳性能。
    batch.size(批量大小):

    batch.size 参数表示一次批量发送消息的大小。较大的 batch.size 可能会导致生产者在达到一定大小或超时前等待更多消息,然后一起发送,以减少每个消息的网络开销。
    在 Docker 容器和物理机上,默认的 batch.size 设置可能会有所不同,取决于环境的网络性能和资源配置。
    要了解在您的环境中这两个参数的具体默认设置和影响,您可以查看 Kafka 生产者的配置文件或代码中的默认值,并根据实际情况进行调整以获得最佳性能。通过调整这些参数,您可以优化 Kafka 生产者在 Docker 容器和物理机上的消息发送行为。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog