【问题标题】:Is there a way to make sure that Orleans Grains end up in the same Silo有没有办法确保奥尔良谷物最终进入同一个筒仓
【发布时间】:2019-04-04 14:04:53
【问题描述】:

在我们的奥尔良设置中,我们有一些经常互相调用的 Grains。这些 Grain 调用的性能是否会受到不同 Silo 的影响?

是否有可能以某种方式告诉奥尔良尝试激活与调用 Grain 相同的 Silo 中的 Grain?

【问题讨论】:

  • IIRC 只有当被调用的grain是无状态的workergrain时才有可能(除非2.0中有一些非常新的东西:))。 Stateless worker grains 将始终与调用者在同一孤岛中激活

标签: c# orleans


【解决方案1】:

是的,网络调用是网络调用,它会影响你的调用性能。

您可以将[PreferLocalPlacement] 属性放在谷物顶部,但 AFAIK 这不能强制执行,这只是奥尔良筒仓在哪里放置新的谷物激活的指导。这应该适用于有状态和无状态的谷物。

对于纯粹的无状态谷物 - 您可以使用 Tseng 在他的评论中建议的 [StatelessWorker] 属性。我建议你阅读docs for stateless worker gains, 他们描述了它们与普通谷物的不同之处。除了本地激活之外,还有一些重要方面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 2016-02-28
    • 2021-06-10
    • 2021-10-20
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    相关资源
    最近更新 更多