【问题标题】:distributed shared memory or not to be?分布式共享内存与否?
【发布时间】:2010-10-31 06:20:32
【问题描述】:

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

问题是 - 我有一个通用接口服务于 Java 后端的各种请求。 我不想用特定类型的请求对象污染它,这种请求对象在大多数情况下都会保持为空。

所以我正在寻找创意解决方案:

  1. DB - C++ 客户端写入临时(内存中)DB 表,将 ObjectKey 传递给 Java。 Java 从记录中创建一个对象。桌子每小时清理一次。
  2. 共享内存缓存 - C++ 保存对象到缓存,Java 获取对象。
  3. SOAP - C++ 将对象作为 SOAP 请求的一部分传递。
  4. 更多 - ???

这必须是尽可能高效的解决方案。 我很想听听我不知道的其他替代方案。

【问题讨论】:

    标签: java c++ interface distributed


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以将共享内存用作 ramdisk 并通过文件进行交换。也可以在 Unix 上使用 UNIX 套接字,它是共享内存的良好且快速的接口

      【讨论】:

      • 我认为 RAM / Sockets 是不可能的,因为它们是通过 TCP/IP 网络连接的独立机器。
      • 您在不同的机器上运行客户端和服务器? - 有分配共享内存的解决方案。 :) 请更详细地描述硬件平台
      猜你喜欢
      • 2014-08-06
      • 2010-12-09
      • 2011-03-19
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      相关资源
      最近更新 更多