我正在为一个应用程序运行PHP前端,该应用程序对数据进行大量工作并使用Cassandra作为数据存储。
但是我知道PHP不会给我一些计算所需的性能(以及需要在内存中的大量数据的管理)
我想用C ++编写支持的东西并从PHP应用程序访问它。我正试图弄清楚将两者联系起来的最佳方式。
我看过的一些选项:
以上只是我看过的事情,我并不限制自己。
传输到PHP应用程序的数据非常小,因此不需要流式传输。只传输计算结果。
你们有什么想法?
答案 0 :(得分:3)
如果我是你,我会使用节俭,没有理由拉入另一个RPC框架。选择你拥有的并且已经知道的东西。 Thrift让它变得如此简单(谷歌协议缓冲区也是如此,但你真的不需要两种不同的机制)
答案 1 :(得分:2)
您是否限制自己将C ++作为单独的应用程序?您是否考虑过直接与PHP接口? (即将C ++扩展链接到PHP应用程序中)。
我不是说第二种方法必然比第一种方法更好,但无论如何你应该考虑它,因为它提供了一些不同的权衡选择。例如,当两者是独立的应用程序时,在PHP和C ++之间传递内容的延迟肯定会高于动态链接的同一应用程序时的延迟。
答案 2 :(得分:1)
有关您的计算需要多少数据的更多详细信息将非常有用。节俭似乎是一个合理的选择。您可以在PHP,计算节点和Cassandra后端之间使用它。如果结果很小,那么PHP和计算节点之间的RPC传输不会产生太大的差异。