Как выполнить запрос-ответ с запросом извне субъекта в кластерной системе? - PullRequest
0 голосов
/ 10 июля 2019

Я настраиваю PersistentEntity (точнее, EventSourcedEntity<Command, Event, State>), поддерживаемый журналом постоянства для обработки команд и воспроизведения событий при восстановлении.Я использую ClusterSharding для установки этого PersistentEntity на нескольких узлах.Я хочу отправить команду этому объекту, используя внешнюю систему, например, возможно, RestController Spring, и дождаться ответа.Все мои команды и события генерируются из сообщений protobuf. * ​​1006 *

Я пробовал этот ask шаблон взаимодействия, описанный здесь: https://doc.akka.io/docs/akka/current/typed/interaction-patterns.html#request-response-with-ask-from-outside-an-actor

Это хорошо работает в некластеризованной системе с одним узлом, гдесериализация не требуется.Но когда сущность присутствует на другом узле, и akka решает связать мои команды, этот подход не будет работать, если я захочу использовать сериализацию protobuf.Также нет простого способа сериализации ссылок на актеров.В случае нетипизированных актеров, я мог бы использовать context.sender от отвечающего актера, чтобы получить ответ даже вне системы акторов.Но в случае с типизированными актерами, я в основном привязан к отправке actor-refs в моих командных сообщениях по проводам и имею дело с их сериализацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...