【问题标题】:Is a Java to PHP Bridge neccessary for this situation?在这种情况下是否需要 Java 到 PHP 桥接器?
【发布时间】:2013-07-02 23:49:15
【问题描述】:

我们正在处理一个向我们发送大量数据的 API。我仍处于应用程序的体系结构阶段,但我的策略是使用 PHP 作为前端部分,然后使用一组 java 类来处理 API Id,并通过从exec php 中的函数。 PHP 处理这个问题的数据太多,这就是我决定使用 Java 的原因,但我很好奇使用 java-to-php 桥是否是理想的选择?它说使用这个桥接器的性能要好得多,但是需要一些时间来弄清楚如何安装它并让它工作。

说实话,我只是想用 exec 调用 java 类,但如果启动一个新的 JVM 似乎相当密集,我需要重新考虑我的策略。

有什么想法吗?

【问题讨论】:

    标签: java php php-java-bridge


    【解决方案1】:

    Java Bridge 可能是一种选择:使用Quercus 或IBM's WebSphere sMash 可能是另一种选择。我已经使用了所有三个选项,但我个人的偏好是使用 API。通过 exec 调用 java 并不是真正的 API

    【讨论】:

    • 调用 exec() 的开销会被 Quercus 或 sMash 消除,当您实际在 JVM 中运行 PHP 并且可以直接从 PHP 调用 Java 类方法时
    • 如果你那么不信任 PHP,那么一开始就不要使用它
    • PHP 可以处理一些相当大量的数据,并且处理相当密集,尽管您需要对内存使用有点精明才能充分利用它
    • 我认为现在有一些在 PHP 上运行的高活动/大容量网站(而且我不仅仅是在谈论 FB 及其修改后的平台):我自己曾在 250rps 网站上工作过。取决于你需要做什么——避免已知的问题领域,如照片处理或数据挖掘 TB 级数据(无论如何都应该归结为数据库)——PHP 可能完全足够了。当然考虑在 PHP 中进行原型设计。但是在 PHP 和现有 API 之间有一个额外的层是额外的开销和额外的复杂性,如果可能的话真的应该避免
    • 正如 JVM 问题的回答中所指出的,调用 exec 将是一个很大的开销,因为它会运行一个额外的进程:使用 java 套接字服务器或 restful java API 肯定会更有效;并且您可以使用 PHP 套接字或 curl 请求(我喜欢 guzzle 作为此类请求的包装器)与 java 守护进程或 tomcat/任何 servlet 容器进行通信,以与“持久”Java 应用程序进行通信
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多