【问题标题】:C++: Application architecture with APIC++:使用 API 的应用程序架构
【发布时间】:2013-12-20 22:00:27
【问题描述】:

我的应用程序是 C++ 服务。我需要为它添加 API。我认为它将是基于 XML/JSON RPC 的 API。我应该如何设计一个程序来重用现有的代码库并提供API。

我看到以下选项:

  1. 我的应用程序将通过 RPC 层工作。由于性能低下,这似乎是一个糟糕的选择;
  2. 在启动服务之前,我将分叉它并在第一个进程中运行我的应用程序,在第二个进程中运行 RPC 服务器;好像没问题,但是这种情况下如何重启RPC服务器呢?
  3. 我想这类问题有一个众所周知的模式。

谢谢。

【问题讨论】:

  • 你可以使用网络服务器吗?开发一个 REST API 怎么样?也许有人可以针对这种情况发布一些指导......
  • 是的,我可以。但它对我有什么帮助?问题是我想为 API 使用通用代码(RPC/REST 或其他)——据我所知,它是一个单独的进程——而我的服务也是一个单独的进程。
  • 跟进the FastCGI concept,这可能是您正在寻找的,或者可能会给您一些其他的想法。
  • 这是我需要的。谢谢。请回答我会接受的。

标签: c++ design-patterns architecture


【解决方案1】:

如果您可以使用网络服务器,那么the FastCGI concept 可能就是您要找的。 FastCGI 的主要职责之一是允许您放置一个公共 API(来自 Web 服务器),该 API 在内部调用“真实”应用程序,在您的情况下是常驻 C++ 服务。因此,所有工作都在 Web 服务器上完成,以使用您希望的任何技术创建公共 API,并且在您的 C++ 服务中进行很少或根本没有代码更改。

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 2011-05-24
    • 2011-02-23
    • 2010-10-03
    • 1970-01-01
    • 2023-03-09
    • 2012-06-23
    • 1970-01-01
    • 2016-02-09
    相关资源
    最近更新 更多