2009-06-04 55 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