微软奥尔良每台机器有多少个筒仓

How many Silos per machine in Microsoft Orleans

在 Microsoft Orleans 中,是否应该只有一个筒仓,因此每台机器只有一个主机进程?每台机器是否有可能有多个 silos/host 进程,每台主机有多个孤岛是否有任何可扩展性优势?是否有关于每台机器的最大进程数或筒仓数的推荐最佳实践以获得最大 scalability/performance 收益。

PS:我是 MS Orleans 的新手,在我查看文档时,到目前为止我还没有看到任何地方解决这个问题。

建议每台主机一个筒仓。 运行 每个主机可能存在多个孤岛,但您不太可能看到可伸缩性的改进,而且您可能会看到性能下降。每个筒仓都将利用可供其使用的 CPU 和内存。

这种情况在容器托管环境中并不明显,例如 Kubernetes。在这些情况下,您通常会对每个 pod 或容器设置 CPU 和内存限制。因此,您可以在每个主机上 运行 多个不同的微服务(例如,每个主机都托管一个孤岛)。在不同的内存地址托管相同代码的多个副本仍然会产生一些嘈杂的邻居效应(例如,考虑到 CPU 缓存非常有限)。

即使在这样的环境中,我也不建议每个容器有一个以上的筒仓。每个吊舱:也许,如果这对您的情况有意义。每个节点,当然,只要在 pods/containers/namespaces 上配置了资源限制,其中孤岛 运行ning.