В качестве транспорта использую RabbitMQ. Command реализовать получилось. А вот Query с возвратом результата не получается сделать. Кто-нибудь сталкивался с подобной проблемой?
https://symfonycasts.com/screencast/messenger/query-bus
Спасибо за ответ. Тут прикол в том, что Query диспатчится и сразу выполняется. То есть оно не уходит за рамки приложения. А как быть, если микросервисы? Из микросервиса A послать Query в микросервис B и получить ответ обратно в микросервис A?
Я бы реализовал через кастомный транспорт https://symfony.com/doc/current/messenger/custom-transport.html См. send() метод
а какой смысл делать query асинхронно? Ты тип пытаешься делать реплаи? В этом случае у тебя в целом должна быть концепция ресипиента (по сути свой топик для каждого ресипиента со своей очередью)
я не хочу делать его асинхронно, я просто не догоняю как сделать синхронно через шину. я понял, что запутался и то, что мне нужно - называется RPC. нашел бандл, который это позволяет сделать, но что-то он у меня доверия не вызывает. https://github.com/leberknecht/amqp-rpc-transporter-bundle
Обсуждают сегодня