Как сделать асинхронный HTTP-запрос в php через датацентры

-4

Мы работаем над конвейером сбора событий на основе Kafka, который будет принимать входящие события через HTTP GET/POST-запросы. Он должен иметь возможность принимать события через браузер пользователя, а также веб-сервер, который работает на Nginx + PHP-FPM. По самой сути требования этот трубопровод должен быть эластичным, и поэтому мы будем внедряться в AWS Singapore, а наш клиент, обслуживающий веб-серверы, находится в физическом центре обработки данных в Мумбаи, Индия. Мы не хотим вводить какую-либо задержку из-за этого, поэтому PHP-приложение должно просто запустить запрос и забыть об этом, чтобы начать с даже ~ 5% запросов получить потеряно в порядке. Вокруг между Мумбаем и Сингапуром около ~ 70 milisecond. Какие варианты мы можем использовать: -

    Запросы curl или fsockopen с тайм-аутом ~ 100 мс - неприемлемы Использование библиотек, таких как Guzzle или curl-easy - которые внутренне используют только завиток, так что снова вводит латентность Запишите запрос локально в файл и используйте передачу, такую как Flume или Kafka, для передачи - по существу, мы будем тиражировать четный конвейер, увеличить стоимость оборудования. Использование рабочей очереди, такой как gearman. Не эксперты по этому поводу не знают плюсов и минусов. Любая вещь под солнцем обеспечивала его бесплатное и низкое обслуживание.

Пожалуйста, предложите.

спросил(а) 2021-01-19T16:36:56+03:00 2 месяца, 3 недели назад
1
Решение
114

Я бы использовал систему jobqueue, хотя она вводит еще один уровень сложности. Это один из простейших способов асинхронного выполнения на PHP и гарантированного почти синхронного времени процессора.

Вы можете использовать Gearman или ZeroMQ. Они очень хорошо поддерживаются в PHP.

ответил(а) 2021-01-19T16:36:56+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема