распределенная общая память или не быть? - PullRequest
0 голосов
/ 04 июня 2009

Мне нужно обмениваться данными между клиентом C ++ и сервером Java. Клиент общается с сервером, используя SOAP.

Проблема в том, что у меня есть универсальный интерфейс, обслуживающий все виды запросов в бэкэнде Java. Я не хочу загрязнять его конкретным типом объекта запроса, который в большинстве случаев останется нулевым.

Итак, я ищу креативное решение:

  1. БД - клиент C ++ записывает во временную (в памяти) таблицу БД, передает ObjectKey в Java. Java создает объект из записи. Стол убирается каждый час.
  2. Shared Memory Cache - C ++ сохраняет объект в кеш, Java извлекает объект.
  3. SOAP - C ++ передал объект как часть запроса SOAP.
  4. БОЛЬШЕ - ???

Это должно быть как можно более эффективное решение. Я хотел бы услышать другие альтернативы, о которых я не знаю.

Ответы [ 2 ]

0 голосов
/ 04 июня 2009

Вы можете использовать общую память как ramdisk и обмениваться файлами. также в Unix. Вы можете использовать UNIX-сокеты, которые хороши, и интерфейс FAST для разделяемой памяти

0 голосов
/ 04 июня 2009

Вы можете использовать подход REST в качестве альтернативы SOAP. Это сократит некоторые издержки SOAP. Тем не менее, я думаю, что запись непосредственно в некоторый кэш памяти звучит более эффективно.

...