Apache Kafka Producer внутри php-fpm - слишком много подключений производителей - PullRequest
1 голос
/ 04 мая 2019

Вариант использования: 8 серверов по 300 php-fpm параллельных дочерних процессов каждый, создает записи для Apache Kafka. Каждый из них производит 1 запись Kafka, 1000 записей в секунду.

Зачем нам так много связей? У нас есть веб-API, который получает 60 тыс. Звонков в минуту. Эти запросы делают много вещей и обрабатываются тысячами работников php-fpm. В рамках обработки запросов мы создаем события для Кафки.

Проблема: Я не могу найти способ сохранить связь между веб-запросами php-fpm, создавая такие, которые кажутся мне настолько неэффективными, что могут затронуть границы Кафки (не так ли?).

В результате устанавливается 1000 подключений производителей в секунду, отправляющих одну единственную запись и закрывающихся сразу после.

Я прочитал здесь https://www.reddit.com/r/PHP/comments/648zrk/kafka_php_71_library/, что php-rdkafka эффективен, но я не знаю, сможет ли он решить эту проблему.

Я подумал, что Opcache может пригодиться для повторного использования соединений, но я не могу найти способ сделать это.

Вопрос Является ли установление и закрытие 1000 подключений в секунду быстрым и дешевым или это прокси с дешевым подключением, которое будет повторно использовать подключение Kafka для такого случая использования?

...