我的应用程序是 C++ 服务。我需要为它添加 API。我认为它将是基于 XML/JSON RPC 的 API。我应该如何设计一个程序来重用现有的代码库并提供API。
我看到以下选项:
- 我的应用程序将通过 RPC 层工作。由于性能低下,这似乎是一个糟糕的选择;
- 在开始服务之前,我将 fork 它并在第一个进程中运行我的应用程序,在第二个进程中运行 RPC 服务器;看起来没问题,但在这种情况下如何重新启动 RPC 服务器?
- 我想此类问题有一个众所周知的模式。
谢谢。
最佳答案
如果你可以使用网络服务器,那么 the FastCGI concept可能是你要找的。 FastCGI 的主要职责之一是允许您放置一个内部调用“真实”应用程序的公共(public) API(来自 Web 服务器),在您的情况下是常驻 C++ 服务。因此,所有工作都在 Web 服务器上完成,以使用您希望的任何技术创建公共(public) API,并且在您的 C++ 服务中几乎没有或没有代码更改。
关于C++:带有 API 的应用程序架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20695320/