2011-05-07 148 views
0

我有一个系统,我通过HTTP调用请求到我的PHP代码(生产者)。此代码将请求参数添加到MYSQL(队列)中的表中。然后由java程序(消费者)进行处理。在我的第一个实现中,生产者和消费者都在PHP中(使用MYSQL队列)。然后随着负载的增加,这被证明是低效的,所以我做了消费者java。现在我认为从我的Java应用程序中查询MYSQL表的队列变得效率低下(对于MYSQL进程来说,CPU使用率很高)。有没有更好的方法来实现这个队列(在PHP代码和Java应用程序之间共享内存或其他东西)?生产者消费者在PHP和Java

回答

0

是的,你有很多选择。首先显然是将其转换为客户端 - 服务器服务,并在它们之间传递文本消息或二进制消息。如果你是一个受虐狂者,或者一个更简单的REST服务,或者CORBA/COM +和其他二进制串行化,你可能会想要查看web服务。然后有各种队列,比如MQSeries,RabbitMQ等。有时候中间人足够快,足够高效,或者直接调用就足够了。

如果你的平台在同一个服务器或集群内,如JavaBridge等等(搜索“java php bridge”,其中有几个会出现,甚至有一个PHP解释器被写入在Java中为JVM提供了两种完全兼容的方法,可以帮你实现。