2015-07-04 2 views
1

В Орлеане, как работает PlacementStrategy? Я вижу, что существует несколько реализаций PlacementStrategy, включая RandomPlacement, PreferLocalPlacement, ActivationCountBasedPlacement и StatelessWorkerPlacement.MSR Orleans, как работает PlacementStrategy?

У меня есть несколько вопросов о том, как их использовать, как они реализованы? Как указать, что вызов должен быть Prefer-Local vs RandomPlacement?

Я просматриваю код, и я не вижу кода, который выбирает один путь выполнения по сравнению с другими на основе этих стратегий размещения. Где это происходит?

+0

Существует проблема с стратегиями размещения, это раскрывает некоторые детали: https://github.com/dotnet/orleans/issues/96 Но я не эксперт, я отправил ваш вопрос Gitter (https: // gitter.im/dotnet/orleans). – lmagyar

+0

Есть еще несколько деталей: http://richorama.github.io/blog/2015/01/02/grain-placement-in-orleans/ – lmagyar

ответ

5

Подробнее здесь у Ричарда: http://richorama.github.io/blog/2015/01/02/grain-placement-in-orleans/ Мы должны и будем перемещать это в наши документы здесь, на github.io.

Как использовать: добавьте атрибут [PreferLocal] в класс зерен.

Код: https://github.com/dotnet/orleans/blob/master/src/OrleansRuntime/Core/Dispatcher.cs#L555

SelectOrAddActivation (..., стратегия) направляет к конкретному директору размещения, на основе указанной политики размещения.