高并发使用Kafka Producer时连接管理问题

我将在每天有超过十亿个请求的高流量环境中使用kafka。每个请求都将连接到kafka集群以发送消息。因此,每秒将有如此多的连接连续进行。这可能会导致套接字超时之类的问题。

生产者正在建立所有非持久连接。因此,在这种情况下,可能会出现套接字超时或端口耗尽的问题。

大多数生态系统都在php中,因此我必须为kafka使用php库。现在如何有效地使用kafka生产者来减轻这种连接争用?

我想到了一个守护进程,可以将其馈入消息,然后它将这些消息批量发送到kafka集群。好的一面是,连接数量可能有限。不利的一面是,此类服务的响应延迟会妨碍应用程序。另外,我还必须使用一些中间存储来保存消息。

现在,我知道有很多使用kafka来直接流式传输消息的应用程序/站点。你们中的任何人都可以指导我如何解决这些问题吗?在这种情况下,持久连接可以提供帮助吗?在如此高容量的环境中使用kafka-producer的php库本身是一个坏主意吗?

最佳答案

我们也使用kafka java库,就像@apatel所说的那样,我认为在您的情况下,您可以尝试使用php app向服务器提供一些sidecar,sidecar将在启动时创建Producer,而Kafka java驱动程序将管理多个连接。这是有关Netflix边车应用程序Netflix Prana的一些有趣的文章

以上是 高并发使用Kafka Producer时连接管理问题 的全部内容, 来源链接: www.h5w3.com/122377.html

回到顶部