基于HTTP的高送达率异步通知服务.
Например, A хочет отправить определённое сообщение B, но не хочет, чтобы отправка сообщения блокировала выполнение операций в A. В этом случае можно упаковать задачу уведомления в специальный центр обработки уведомлений, который будет выполнять отправку сообщений.
composer install
для завершения установки зависимостей.php worker.php
.Встроен процесс отправки задач через HTTP POST. Для публикации задачи выполните команду php http_api.php
. Вы также можете использовать другие методы для отправки задач, например, прямое взаимодействие с Redis.
curl post http://127.0.0.1:2345
url:http://xxx.com/path/to?foo=bar Адрес уведомления
payload:somestring... Содержание уведомления
tactic:A Стратегия уведомления
time:15968576857 Время первого запуска уведомления (по умолчанию используется текущее время)
Обратите внимание, что при отправке каждой задачи рекомендуется указать уникальный идентификатор, например, параметр uuid в файле http_api.php. Это облегчит анализ отслеживания задач. Также можно добавить дополнительные критерии фильтрации для упрощения анализа данных. Статистический анализ позволяет удобно отслеживать обработку задач от разных клиентов.
Параметры конфигурации должны быть адаптированы к аппаратным ресурсам сервера и пропускной способности сети. Если один сервер не может справиться с уведомлением, можно запустить несколько серверов для выполнения этой функции.
По умолчанию, журнал уведомлений записывается в файл журнала. Вы можете настроить запись журнала в Elastic, Redis, MySQL или другие платформы. Также вы можете отправлять журналы в собственные системы мониторинга. Рекомендуется использовать Elastic.
Вы можете бесплатно использовать этот проект как в коммерческих, так и в образовательных целях. Вы также можете изменять код проекта в соответствии со своими потребностями, но распространение проекта без разрешения автора запрещено.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )