在高流量环境中使用 kafka 生产者时的连接管理
2022-09-04 23:11:41
我将在每天超过十亿个请求的非常高的流量环境中使用kafka。每个请求都会与 kafka 集群建立连接以发送消息。因此,每秒钟都会有如此多的连接不断建立。这可能会导致套接字超时等问题。生产者正在建立所有非持久连接。因此,在这种情况下,可能存在套接字超时或端口耗尽问题。
大多数生态系统都是在php中,所以我必须使用php库来制作kafka。现在如何有效地使用kafka生产者来缓解这种连接争用?
我想到了一个守护进程,它可以被馈送消息,然后它会将这些消息批量发送到kafka集群。另外,连接数量有限。缺点是此类服务的响应延迟会妨碍应用程序。另外,我必须使用一些中间存储来保存消息。
现在我知道有许多非常高容量的应用程序/站点使用kafka直接流式传输消息。你们中的任何一个人能指导我如何解决这些问题吗?在这种情况下,持久连接能否提供帮助?在如此大容量的环境中使用kafka生产者的php库本身就是一个坏主意吗?