Вариант использования:
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 для такого случая использования?