c#之Microsoft Orleans 中每台机器有多少个 Silo

xiaohuochai 阅读:107 2025-06-02 22:19:02 评论:0

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

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

请您参考如下方法:

建议每个主机一个接收器。每个主机运行多个竖井是可能的,但您不太可能会看到可伸缩性的改进,并且您可能会看到性能下降。每个孤岛都将利用可用的 CPU 和内存。

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

即使在这样的环境中,我也不建议每个容器使用多个筒仓。每个 pod:也许,如果这对您的情况有意义。当然,只要在运行筒仓的 pod/容器/命名空间上配置了资源限制,就可以按节点进行。


标签:C#
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号