Postgres, но рано или позндно будут появлятся необходимости в отправке почты, смс, pushей, генерации статистики и прочие процессы которые не желательно делать синхронно с HTTP запросом. Также мне не хочется чтобы само API приложение требовало кучу ENV переменных типа MAIL_HOST, RABBITMQ_DSN, SMS_PROVIDER_API_KEY и так далее, я бы предпочёл сделать отдельные сервисы, которые бы висели в фоне и слушали бы события, например, появляется событие MailScheduled(to = 'dude@gmail.com', text = 'bla bla') маленький демон отправки email подхватывает его, отправляет и постит событие MailSent, своеборазный Event Sourcing. Но вот у меня вопрос, раз уж я все события и так кладу в Postgres нужно ли мне ещё дополнительно Rabbit/Gearman/Kafka или же можно просто написать php скрипт c while (true) и проверять наличие новых событий? Есть у кого нибудь опыт с подобным?
Не понял при чем тут es, но в целом да, можно обойтись только бд, посмотри на enqueue, там есть драйвер для работы с бд как хранилищем для очереди
Обсуждают сегодня