Я собираюсь использовать kafka в очень дорожной обстановке более миллиарда запросов в день. Каждый запрос свяжет кластер kafka для отправки сообщения. Таким образом, с каждым соединением происходит так много соединений. Это может вызвать такие проблемы, как тайм-ауты сокетов. производитель делает все непостоянные соединения. Таким образом, в таком случае могут возникать проблемы с тайм-аутом сокета или портом.Управление подключением при использовании производителя kafka в условиях высокого трафика
Большинство экосистем в php, поэтому я должен использовать php-библиотеку для kafka. Теперь, как эффективно использовать производителя kafka для смягчения этого конфликта?
Я думал о процессе демона, который может быть передан сообщениям, и затем отправит эти сообщения в пакетном режиме в кластер kafka. Плюс сторона заключается в том, что может быть ограниченное количество соединений. Нижняя сторона - это то, что время ожидания такой службы будет препятствовать приложению. Также я должен использовать промежуточное хранилище для хранения сообщений.
Теперь я знаю, что существует множество приложений/сайтов с большим объемом данных, использующих kafka для прямого потока сообщений. Может ли кто-нибудь из вас узнать, как решить эти проблемы? Могут ли постоянные соединения помочь в этом случае? Является ли использование php-библиотеки kafka-продюсером в такой среде с большим объемом, это плохая идея?
спасибо за ваше предложение и ссылку. Тем не менее, я не мог связать, как система, например прана, может использоваться как производитель кафки. Вы хотите сказать, что только способ реализации kafka-продюсера заключается в том, чтобы он работал параллельно с основным приложением и помещал ли он сообщения в фоновом режиме? Если да, то будет ли процесс создания демон? – Shades88
Prana - это только пример, чтобы познакомить вас с рисунком коляски. В этом случае вы должны разработать свою собственную коляску, например: небольшое крошечное Java-приложение со встроенным http-сервером (например, Undertow), приложение будет подключаться к kafka при запуске и предоставлять api для отправки сообщений, например:/messages/$ topic, а затем ваше приложение php отправит сообщения в/localhost/messages/$ topic –
, конечно, sidecar должен быть развернут на том же компьютере, что и ваше php-приложение. –