代码之家  ›  专栏  ›  技术社区  ›  Stephen Holiday

在Web应用程序中使用C++进行后端计算

  •  9
  • Stephen Holiday  · 技术社区  · 15 年前

    我正在运行一个应用程序的PHP前端,该应用程序对数据进行大量的处理,并将Cassandra用作数据存储。

    不过,我知道PHP不会提供某些计算所需的性能(以及对需要在内存中的大量数据的管理)。

    我想在C++中编写支持的东西,并从PHP应用程序中访问它。我正试图找出将两者连接起来的最佳方法。

    我看过一些选项:

    1. 节俭(一个自然的选择,因为我已经把它用在卡桑德拉身上了)
    2. 谷歌的协议缓冲区
    3. GSOAP
    4. 阿帕奇轴

    以上只是我看到的,我并没有限制自己。

    传输到PHP应用程序的数据非常小,因此不需要进行流式处理。只传输计算结果。

    你们觉得怎么样?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Joshua Martell    15 年前

    关于您的计算需要多少数据的更多细节将是有用的。节俭似乎是一个合理的选择。您可以在PHP、计算节点和Cassandra后端之间使用它。如果结果很小,那么PHP和计算节点之间的RPC传输不会产生太大的差异。

        2
  •  3
  •   Brian Onn    15 年前

    如果我是你,我会用节俭,没有意义拉在另一个RPC框架。带着你已经知道的东西走吧。节俭让事情变得如此简单(谷歌协议缓冲区也是如此,但你不需要两种不同的机制)

        3
  •  2
  •   Eli Bendersky    15 年前

    你限制C++作为一个单独的应用程序吗?你考虑过直接与PHP接口吗?(即将C++扩展链接到PHP应用程序)。

    我不是说第二种方法必然比第一种方法好,但无论如何,你应该考虑它,因为它提供了一些不同的权衡选择。例如,在PHP和C++之间传递数据的延迟肯定会高于当它们是动态链接的相同应用程序时的两个单独应用程序。