我正在编写一个分布式系统,其中每个节点通过一些 RESTful API 与本地应用程序接口,支持扩展和运行时自定义等。它有点像广域的企业服务总线,但还有很多其他事情不是与手头的问题有关。
我已经阅读了一些关于 MPI 和 Asio 的内容 - 最初我选择的是 Asio,但后来我找到了 MPI,现在我再次认为 Asio 对我来说是更好的解决方案。MPI 似乎提供了很多我不需要的东西和比我想要的更高级别的抽象——例如,我只需要点对点通信,并且控制何时以及什么数据对我来说很重要传送。(例如,我已经设计了一个理想情况下符合的数据包结构)
所以我的主要问题是:从 Asio 的较低级别开始是值得的,还是我应该尝试将 MPI 移植到我正在寻找的东西上?此外,是否有使用 MPI 或 Asio 来帮助开发的“骨架应用程序”?(实际上我是 100% 的 C++ 新手……;)或者,将它们串联使用是否有意义?
从更远的角度来看,也许值得注意的是,我已经使用Perl 对象环境在 Perl 中实现了这个项目的大部分内容,它本身只是一个带有大量网络库的异步事件系统。
此外,如果它有所作为,我理想情况下会为此使用线程。老实说,尽管我还没有使用过 Boost,正如我上面所暗示的,所以任何输入都是值得赞赏的。