用例: 每个300个php-fpm并发子进程的8台服务器,向Apache Kafka生成记录。 每条记录产生1条卡夫卡记录,每秒1000条记录。
为什么我们需要这么多连接? 我们有一个Web API,每分钟可以收到6万次调用。这些请求正在做很多事情,并通过成千上万的Web php-fpm工作者进行处理(不幸的是)。作为请求处理的一部分,我们向Kafka产生事件。
问题: 我无法找到一种方法来保持php-fpm网络请求之间的连接,从而创建一些在我看来效率低下的软件,可能会影响到Kafka绑定(会吗?)。
结果是每秒建立1000个生产者连接,发送一个单记录ach,然后立即关闭。
我在这里https://www.reddit.com/r/PHP/comments/648zrk/kafka_php_71_library/读到php-rdkafka是有效的,但我不知道它是否可以解决此问题。
我认为Opcache可以方便地重用连接,但我找不到解决方法。
问题 每秒建立和关闭1000个连接是否快速又便宜?或者具有廉价连接性的代理必须重用Kafka连接?