Ответы пользователя по тегу RabbitMQ
  • Как правильно построить работу с очередями/топиками брокера в транзакционной системе?

    @ksimmi Автор вопроса
    Решил сам ответить на ворос. Управление сервисами построено по паттерну SAGA основаному на оркестрации, сервис реализующий сагу имеет ИНДИВИДУАЛЬНЫЙ командный канал к каждому сервису-участнику саги, и ОБЩИЙ канал с ответами от них же.

    Спасибо всем учавствовшим в обсуждении.

    Zhainar
    Спасибо за отсылку к книге Криса Ричардсона, я ее прочел всю. Было очень полезно, стал лучше понимать паттерн SAGA, ответ и помощь нашел в книге.

    SirotaKazansky
    То, что я называл "частым нарушением согласованности" по Крису Ричардсону называется "отложенной согласованностью". Это состояние, когда каждый сервис сам по себе находится в согласованном состоянии, но система в целом может быть в процессе установления этой согласованности. Специалист второй линии поддержки, о котором я говорил ранее, в случае возникновения ситуцаии когда система по какой-то причине не выходит из отложеной согласованости, после анализа этой ситуации просто перезапускает конкретный шаг саги или же иницирует ее отмену запуская компенсирующие транзакции.
    Ответ написан
    Комментировать