Есть ли способ убедиться, что orleans grains попадает в тот же бункер?

В нашей настройке Orleans у нас есть несколько зерен, которые часто называют друг друга. Влияет ли на производительность этих вызовов зерна то, что они находятся в разных бункерах?

Можно ли как-то сказать Орлеану попробовать активировать зерно в том же бункере, что и вызывающее зерно?

IIRC, это возможно только в том случае, если вызываемое зерно является рабочим зерном без сохранения состояния (если в 2.0 не было чего-то ужасно нового :)). Зерна работника без гражданства всегда будет активирован в том же хранилище, что и вызывающий

Tseng 31.10.2018 13:10
3
1
465
1

Ответы 1

Да, сетевой вызов - это сетевой вызов, и он повлияет на качество ваших вызовов.

Вы можете поместить атрибут [PreferLocalPlacement] поверх ваших зерен, но, AFAIK, это не может быть принудительно, это только руководство для бункера Орлеана, где разместить новую активацию зерна. Это должно работать как для зерна с полным, так и без состояния.

Для зерен без состояния - вы можете использовать атрибут [StatelessWorker], как предложил Ценг в своем комментарии. Предлагаю вам прочитать документы о доходах работников без гражданства, они описывают, чем они отличаются от обычных зерен. Помимо локальной активации, есть несколько важных аспектов.

Другие вопросы по теме