2009-06-04 3 views
0

C++ 클라이언트와 Java 서버간에 데이터를 공유해야합니다. 클라이언트는 SOAP를 사용하여 서버와 대화합니다.공유 메모리가 분산되어 있거나 존재하지 않을 수 있습니까?

문제점은 다음과 같습니다. - Java 백엔드에서 모든 종류의 요청을 처리하는 일반 인터페이스가 있습니다. "오염"하고 싶지 않은 특정 유형의 요청 개체는 대부분의 경우 null로 남습니다.

그래서 나는 "창조적 인"솔루션을 찾고 있어요 :

  1. DB - C++ 클라이언트가 임시 (메모리) DB 테이블에 기록 자바에 ObjectKey를 전달합니다. Java는 레코드에서 오브젝트를 작성합니다. 테이블은 매 시간마다 정리됩니다.
  2. 공유 메모리 캐시 - 캐시 된 C++ 저장 객체, Java 객체를 가져옵니다.
  3. SOAP - C++이 SOAP 요청의 일부로 객체를 전달했습니다.
  4. MORE - ???

가능한 한 효율적이어야합니다. 나는 내가 모르는 다른 대안을 듣고 싶다.

답변

0

SOAP 대신 REST 방식을 사용할 수 있습니다. SOAP 오버 헤드를 줄일 수 있습니다. 그러나 일부 메모리 캐시에 직접 쓰는 것이 더 효율적이라고 생각합니다.

0

공유 메모리를 램 디스크로 사용하고 파일을 통해 교환 할 수 있습니다. 또한 Unix에서 유닉스 소켓을 사용할 수 있고 공유 메모리 용 FAST 인터페이스를 사용할 수 있습니다.

+0

TCP/IP 네트워크를 통해 연결된 별도의 머신이기 때문에 RAM/소켓이 가능하지 않다고 생각합니다. –

+0

클라이언트와 서버를 별도의 시스템에서 실행합니까? - 공유 메모리를 배포하는 솔루션이 있습니다. :) 하드웨어 플랫폼에 대해 자세히 설명해주세요. –

관련 문제