Покажите короткий пример по теме «Outbox pattern» и объясните, что здесь важно.

PHPSeniorArchitectureТеорияphparchitectureoutbox-patternsenior-php-developer

Что хотят услышать интервьюеры:

Короткий пример по теме Outbox pattern:

Ответ:

<?php // insert order + outbox event in one DB transaction

Что важно: код должен быть безопасным, читаемым и соответствовать контракту задачи. Для PHP-разработчика важно объяснить не только «как написать», но и «почему так безопаснее/надежнее».

  • пишет событие в outbox в той же транзакции
  • worker публикует дальше
  • уменьшает потерю событий

Типичная ошибка: сначала сохранить заказ, потом отправить событие в брокер и потерять его при падении.

На собеседовании: проговорите, какие edge cases вы бы проверили тестами и что бы логировали при ошибке.

Источники

Похожие вопросы