我已經編寫了一個分層的Web應用程序,它由一個與Java服務交互的富Web客戶端(PHP)組成。 Web客戶端託管在apache服務器上,並且java服務在同一臺物理機器上運行(重申:整個應用程序,客戶端和服務在同一臺物理機器上運行)。作爲IPC反模式的數據庫
用戶請求 - > DB < - 輪詢 - > RequestHandler - > StoreResult在數據庫 - > Web客戶端更新頁面的結果(AJAX)。
客戶端和服務之間的通信使用關係數據庫來傳遞消息。 java服務具有單線程輪詢器,該輪詢器查找並處理來自客戶端的任何消息/請求。該系統的工作原理,但我對我的設計選擇沒有信心。
有沒有人對此策略有任何意見?我讀過使用數據庫作爲IPC反模式是不好的做法,或者至少是不適當的做法。但是,替代品 - XMLRPC(命名管道)似乎涉及其他依賴關係。
感謝您的期待。
您正在使用數據庫作爲消息隊列。你應該研究的是:它是否構成一個好的消息隊列?如何可靠性(不要錯過任何情況下的單一信息)和吞吐量? – jrharshath 2010-09-28 18:45:06
數據庫並非真正用於隊列/排隊。它們用於排隊軟件的持久性,如[ActiveMQ](http://activemq.apache.org/)。但有些數據庫提供[本機隊列支持(SQL Server)](http://www.developer.com/db/article.php/3640771/Getting-Started-with-SQL-Server-Service-Broker.htm).. 。 – 2010-09-28 18:47:23
別的東西:你看過櫟屬嗎? – mario 2010-09-28 19:16:15