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

时间:2010-09-22 03:39:43

标签: c++ protocol-buffers thrift gsoap

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

但是我知道PHP不会给我一些计算所需的性能(以及需要在内存中的大量数据的管理)

我想用C ++编写支持的东西并从PHP应用程序访问它。我正试图弄清楚将两者联系起来的最佳方式。

我看过的一些选项:

  1. 节俭(一个自然的选择,因为我已经将它用于Cassandra)
  2. Google的协议缓冲区
  3. gSOAP的
  4. Apache Axis
  5. 以上只是我看过的事情,我并不限制自己。

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

    你们有什么想法?

3 个答案:

答案 0 :(得分:3)

如果我是你,我会使用节俭,没有理由拉入另一个RPC框架。选择你拥有的并且已经知道的东西。 Thrift让它变得如此简单(谷歌协议缓冲区也是如此,但你真的不需要两种不同的机制)

答案 1 :(得分:2)

您是否限制自己将C ++作为单独的应用程序?您是否考虑过直接与PHP接口? (即将C ++扩展链接到PHP应用程序中)。

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

答案 2 :(得分:1)

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