1

在奥尔良,PlacementStrategy 是如何工作的?我看到 PlacementStrategy 有多种实现,包括 RandomPlacement、PreferLocalPlacement、ActivationCountBasedPlacement 和 StatelessWorkerPlacement。

我有几个问题,从如何使用它们到它们是如何实现的?如何指定呼叫应该是 Prefer-Local vs RandomPlacement?

我正在查看代码,但没有看到基于这些放置策略选择一个执行路径而不是另一个执行路径的代码。发生在哪里?

4

1 回答 1

5

Richard 在这里提供了更多详细信息:http : //richorama.github.io/blog/2015/01/02/grain-placement-in-orleans/ 我们应该并且将把它移到我们在 github.io 上的文档中.

使用方法:在grain类上添加属性[PreferLocal]。

代码:https ://github.com/dotnet/orleans/blob/master/src/OrleansRuntime/Core/Dispatcher.cs#L555

SelectOrAddActivation(..., strategy) 根据指定的放置策略转发到特定的放置主管。

于 2015-07-08T16:15:17.600 回答