2011-05-07 142 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提供了兩種完全兼容的方法,可以幫你實現。