分布式共享内存还是不是?

时间:2009-06-04 08:50:42

标签: java c++ interface distributed

我需要在C ++客户端和Java服务器之间共享数据。 客户端使用SOAP与服务器通信。

问题是 - 我有一个通用接口,可以在Java后端上提供各种请求。 我不希望污染它与特定类型的请求对象,大多数时间都保持为null。

所以我正在寻找广告素材解决方案:

  1. DB - C ++客户端写入临时(在内存中)DB表,将ObjectKey传递给Java。 Java从记录中创建一个对象。每小时清理一次表。
  2. 共享内存缓存 - C ++保存对象到缓存,Java获取对象。
  3. SOAP - C ++将对象作为SOAP请求的一部分传递。
  4. 更多 - ???
  5. 这必须尽可能高效解决方案。 我很想听到其他我不知道的替代方案。

2 个答案:

答案 0 :(得分:0)

您可以使用REST方法作为SOAP的替代方法。它会减少一些SOAP开销。但是,我认为直接写入某些内存缓存听起来更有效。

答案 1 :(得分:0)

您可以将共享内存用作ramdisk并通过文件进行交换。也可以在Unix上使用UNIX套接字,这对于共享内存是好的和FAST接口