У нас есть определенный сценарий в нашем приложении - все дочерние акторы в этом приложении имеют дело с огромным объемом данных (около 50–200 МБ).В связи с этим мы решили создать дочерних акторов на том же компьютере (рабочем процессе), на котором был создан родительский актер.
В настоящее время это достигается использованием ролей.Мы также используем кэш-память .NET для передачи данных (несколько МБ) между дочерними субъектами.
Вопрос : Можно ли отключить кластеризацию в дочерних субъектах для достиженияожидаемый результат?
Редактировать : Чтобы быть более конкретным, я подробно объяснил настройку нашего приложения ниже.
- Весь процесс происходит внутрикластер Akka.NET, состоящий из примерно 5 машин
- Рабочие процессы (которые содержат как родительские, так и дочерние акторы) развернуты на каждой из этих машин
- И родительские, и дочерние акторы имеют кластерную поддержку, в этомsetup
Когда мы выяснили нагрузку на сеть, вызванную распределением дочерних акторов по машинам, мы решили ограничить создание дочерних акторов соответствующими машинами, которые получили основной запрос, и распределить только родительский актер по всем машинам.машины.
При обращении к эксперту Akka.NET с этой проблемой нам посоветовали использовать «Роли», чтобы ограничить создание дочерних акторов одной машиной в кластерной системе.(Например, Worker1Child, Worker2Child вместо роли «Ребенок»)
Вопрос (продолжение) : Я просто хочу знать, если при простом отключении кластера у дочерних акторов будет достигнуто то же самоерезультат;и лучше ли это делать?
Пожалуйста, сообщите.