2012-05-16 1 views
1

서로 처리해야하는 두 가지 응용 프로그램 (기본 Java 프로그램과 일괄 처리)이 있습니다. 가능한 한 통신을 분리하기 위해 응용 프로그램간에 대기열을 사용하려고합니다.대기열을 사용하여 Java 응용 프로그램을 분리하는 것이 가장 좋습니다.

첫 번째 응용 프로그램은 두 번째 객체가 다른 객체 유형 (DTO 패턴의 일종)으로 변형되고 새로 생성 된 객체를 사용하여 비즈니스 로직과 웹 서비스 호출을 수행해야하는 Java 객체를 제공한다는 것입니다. 큐를 사용하는 것이이 경우 최상의 솔루션입니까?

큐에 성능 문제가 있습니까? (크기 및 소비 시간과 관련하여 espacially 생각하십니까?) 이 큐를 구현하는 가장 좋은 방법은 무엇입니까?

작업이 장기 실행이고 자원 집약적 경우

+0

배치와 Java 프로그램간에 Java 객체를 어떻게 교환하고 있는지 잘 모르겠다. – Drona

+0

Hy Vikas, 관심을 가져주세요. 내 시나리오에서, 고전적인 응용 프로그램은 대기열에있는 일부 Java 객체를 푸시하여 배치 애플리케이션이 소비하고 다른 객체 유형으로 변환하고 비즈니스 로직을 수행 한 다음 웹 서비스 호출로 결과를 다른 응용 프로그램으로 보냅니다. – Naoufel

답변

2

대기열은 아마 최고의 솔루션입니다 :) 사전에 감사합니다. 예를 들어, 일괄 응용 프로그램이 클래식 응용 프로그램이 제공하는 각 내용이 포함 된 방대한 전자 메일을 보내는 경우 예 Queue가 올바른 솔루션입니다. 당신이 배치 프로그램은 각 요청을 처리 할 수있는 경우 큐가 고전적인 응용 프로그램 등

다시 어떻게 전달 반응에 너무 큰 얻는 경우에 무엇에 대해 걱정할 필요가 같은 큐의

단점은 포함이 관리 오버 헤드를 소개합니다 고전 응용 프로그램을 신속하게 누른 다음 고전적인 응용 프로그램이 즉각적인 응답을 얻을 수 있도록 웹 서비스로 배치 프로그램을 노출합니다.

+0

답변 해 주셔서 감사합니다. 실제로 일괄 처리 응용 프로그램은 오래 동안 실행되고 있습니다. 따라서 대기열이이 경우에 적용되면이를 선택합니다. 대기열 크기와 같은 문제에 대해 이야기 했으므로 기존 응용 프로그램이 대기열의 다른 쪽에서 어떻게 진행되는지 알 수 있도록 대기열 구현 메커니즘에 대한 권장 사항을 알려주십시오. 최고의 프레임 워크 ... etc 다시 한번 감사드립니다. – Naoufel

+0

나는 메시징 큐를 직접 구현하지 않을 것이다. 1) 시간이 좀 걸릴 것이다. 2) 휠을 다시 발명하고있다. 필자는 이전에 개인적으로 IBM MQ를 사용했지만 불행히도 그것이 무료라고 생각하지 않습니다. 이 스레드는 http : //stackoverflow.com/questions/731233/activemq-or-rabbitmq-or-zeromq-or 또는 오픈 소스 메시징 대기열 프레임 워크를 거의 비교하지 않습니다. – Alvin

+0

정말 고마워 Alvin! 매우 흥미로운 실 !! 나는 그것을 볼 것이다. 선택을하는 것이 도움이 될 것이다. – Naoufel