Хуже всего работать через ActorSelection, лучше всего - получать ActorRef напрямую, через Sender, в сообщении, Child или Parent.
кстати, ActorRef нормально (де)сериализуется для персистентных акторов? Например, если родитель в своем стейте хранит список детей
ActorRef сериализуется через внутренний сериализатор Акки. Так что его можно хоть в базу класть, хоть и нежелательно
Я предпочитаю работать через ICanTell, который из рефа создается Реф это ответственность, им владеет тот, кто создал (и кто убивает), а всем остальным раздается ICanTell на него ActorSelection медленное говно и не следует использовать, да. Я даже не могу придумать сценария когда такое можно делать. Даже если резолвить раз и кешировать, то кто его знает, может там актор отвалится
как кстати канонично делать броадкаст на группу акторов? Например, для каждого юзера есть актор, у них общий родитель, который их создает, когда условный юзер регистрируется. И мы хотим че-то отправить всем юзерам, например. Для такого надо хранить список актор рефов в родителе, и делать рассылку через него?
я делал в начале через селекшн, но эт пиздец медленно. Далее делал кастомных акторов роутеров
Обсуждают сегодня