C++ C++;分布式计算机应用程序框架

C++ C++;分布式计算机应用程序框架,c++,distributed-computing,C++,Distributed Computing,我有一个一直独立运行的C++/MFC应用程序(“MyApp”),但现在需要在至少两台电脑上同时运行,最终可能会在20台电脑上运行。理想的情况是: 系统将使用固定的PC名称(“主机1”、“主机2”等)和IP地址(192.168.1.[主机号])部署在隔离网络上 打开第一台电脑,它将使用wake on lan启动所有其他电脑 “MyApp”的一个或多个实例会在每个节点上自动启动,进行自我配置,并或多或少独立地完成任务(一旦启动,就没有关键的节点间通信) 系统中的第一个节点还承载一个用户界面,该用户

我有一个一直独立运行的C++/MFC应用程序(“MyApp”),但现在需要在至少两台电脑上同时运行,最终可能会在20台电脑上运行。理想的情况是:

  • 系统将使用固定的PC名称(“主机1”、“主机2”等)和IP地址(192.168.1.[主机号])部署在隔离网络上
  • 打开第一台电脑,它将使用wake on lan启动所有其他电脑
  • “MyApp”的一个或多个实例会在每个节点上自动启动,进行自我配置,并或多或少独立地完成任务(一旦启动,就没有关键的节点间通信)
  • 系统中的第一个节点还承载一个用户界面,该用户界面提供对其他节点的一些访问。与其他节点之间的通信仅在用户请求时发生,这对于普通用户来说通常是零星的,对于必须测试新功能是否在整个系统中按设计工作的用户来说,有时是密集的
  • 出于模拟/测试目的,MyApp还应该能够在局域网上任意命名的计算机的指定子集上启动
最后一个要求的要点是,当我试图重现世界另一端20台电脑系统上出现的问题时,我不必从某处找到20台电脑并将它们连接起来,我可以(礼貌地)从办公室的其他电脑上窃取一些备用CPU周期

我可以想象在C++/MFC中按照以下思路从头开始构建:

  • 编写一个新的服务,该服务可以自动启动Windows,并且可以在通过网络接收到相应命令时启动/停止MyApp实例,或者在非测试部署中配置为自动启动MyApp时启动/停止MyApp实例
  • 让MyApp检测它在更广泛的系统中的哪个节点,如果它是第一个节点,确保所有其他节点都通过lan唤醒打开
  • 设计并实现各种本地和远程服务以及MyApp实例之间的通信协议
这看起来真的很基本,但如果我从头开始做的话,这就像是重新发明轮子一样。因此,中心问题是,有C++类的框架使这类事情变得容易吗?我应该调查哪些选项?将其称为“分布式计算”是否具有误导性?你还能叫它什么?(请建议附加或不同的标签)