Microsoft Orleans框架提供了一种构建分布式、高规模系统的方法,而不需要太多复杂性。
对于Orleans来说,缩放是很自然的;如果一台主机宕机,该主机上的活动颗粒会在其他地方重新激活,因为它们的状态会持久保存在存储中。
考虑到这一点,像Docker这样的容器服务如何应用于生产中的Orleans应用程序?如果Orleans已经在默认情况下进行了扩展,那么为什么我们还需要一个编排的容器服务来进行扩展呢?
发布于 2018-05-10 02:09:21
在主机故障时重新激活grains不是扩展-而是应用程序可靠性(自动修复)。
扩展适用于添加更多服务器和应用程序自动调整自身以使用这些额外硬件的能力。Orleans提供了应用程序自动伸缩:如果您添加更多服务器,Orleans将自动开始使用这些服务器,方法是在新服务器上放置新的颗粒。但仍然需要有人决定增加更多的服务器。Orleans不会自动这么做。必须有一些(Orleans外部的)控制循环来测量CPU或吞吐量或其他指标,并决定添加更多服务器。容器集群编排可以做到这一点。
容器的另一个好处是更容易管理--将整个容器及其内部的所有软件直接“抬起并转移”到另一个云提供商或本地,因为容器可以捕获所有的软件依赖项。这与Orleans完全无关,只是容器的一般优点。
https://stackoverflow.com/questions/50251584
复制相似问题