在同一节点上的不同进程上运行Akka.Net

时间:2019-04-04 11:22:45

标签: akka.net

我目前正在评估使用akka.net用于计划的(复杂)应用程序,该应用程序目前被认为是桌面应用程序,但应该稍后开放以提供服务并水平扩展。

应用程序进行通信并集成硬件设备是一个挑战,驱动程序可能会崩溃并破坏整个过程。因此,要求这些驱动程序在不同的.NET进程/ VM中运行,以免主应用程序受到此类崩溃的影响。

我目前看到以下解决方案:

a)在同一台计算机上的不同.N​​ET VM上跨越不同的akka​​.clusters进行隔离。这似乎可行,但我不确定开销。我的理解是,在akka.net集群中,不可能在自己的流程中隔离演员(例如,一个演员及其孩子)。我还能从akka.net的所有与容错有关的功能中受益(例如,当检测到硬件驱动程序造成混乱时,是否可以触发集群/ VM的重新创建?)

b)不要使用akka实现硬件集成模块(与不可靠的驱动程序通信),而应提供经典的.NET服务,该服务通过WCF或其他方式与akka群集进行通信。这是可行的,但会导致复杂而不是整体的架构,我不喜欢。

如果能在这里获得任何指导,我将不胜感激。

0 个答案:

没有答案