2009-06-04 56 views
0

我需要在C++客戶端和Java服務器之間共享數據。 客戶端使用SOAP與服務器通信。分佈式共享內存還是不行?

問題是 - 我有一個通用接口在Java後端提供各種請求。 我不想「污染」與特定類型的請求對象,這將大部分時間保持爲空。

所以我在尋找一個 「創意」 的解決方案:

  1. DB - C++客戶端寫入臨時(內存)數據庫表,經過ObjectKey到Java。 Java根據記錄創建一個對象。表格每小時清理一次。
  2. 共享內存緩存 - C++保存對象緩存,Java獲取對象。
  3. SOAP - C++將對象作爲SOAP請求的一部分傳遞。
  4. 更多 - ???

這必須儘可能高效。 我很想聽聽其他我不知道的選擇。

回答

0

您可以使用REST方法作爲SOAP的替代方法。這將減少一些SOAP開銷。不過,我認爲直接寫入某些內存緩存聽起來更有效率。

0

您可以使用共享內存作爲虛擬硬盤並通過文件進行交換。在Unix上也可以使用良好的UNIX套接字和用於共享內存的FAST接口

+0

我不認爲RAM /套接字是可能的,因爲這些是通過TCP/IP網絡連接的獨立機器。 – 2009-06-04 10:53:46