Можем ли мы заменить работу cron на apache kafka?

Я хочу заменить свою работу cron на apache kafka, используя php.

Это возможно?

Теперь мой cron работает как обновление баз данных. Также отправка электронной почты, смс зависит от условий. Также периодически происходит обновление в базах данных.
И ежедневное резервное копирование базы данных.

Можно ли это реализовать с помощью кафки

0

Решение

Вам нужно спроектировать всю среду с точки зрения событий, а не «пакетных временных интервалов», но да, это возможно в теории. В качестве прокладки вы можете начать с процесса Kafka в Cron, который будет считывать сообщения в течение настраиваемого промежутка времени, а затем обрабатывать этот фрагмент.

Что касается того, о чем вы просили, вы можете создать тему CDC / changelog для событий базы данных (если вы делаете эту тему компактной, вы устраняете необходимость в ежедневном резервном копировании, поскольку каждое событие базы данных является постоянным в Kafka с самого начала История БД — посмотрите на проект Debezium для начала), и вы можете получить соответствующие emails или же sms темы, по которым ваши потребители опрашивают и отправляют сообщения SMTP, SMS или GCM / APN, как вы, вероятно, уже делаете, если это система, с которой вы мигрируете.

Ничего из этого не обязательно должно быть и в PHP (или в действительности Kafka поверх другой системы pub-sub). Я бы умолял вас рассмотреть подход, основанный на микросервисах, который использует клиентскую библиотеку и технологию, наиболее подходящую для ваших случаев использования. Например, AWS может интегрировать Kinesis + SNS + SES, и у вас есть эквивалентное решение Kafka + SMS + Email без инфраструктуры для обслуживания.

Однако прежде чем идти по этому пути, вам нужно прекратить группировать данные в срезы для обработки Cron, а скорее публиковать данные по событиям и выполнять непрерывные, по мере необходимости, агрегации в течение нескольких временных окон.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector