2013-04-23 3 views
2

내 질문은 내 다른 질문에 관련이 here.자바 웹/Java EE와 병렬 컴퓨팅 응용 프로그램의 디자인

자바 웹 응용 프로그램에서 병렬로 실행할 수있는 매우 복잡한 계산 문제를 해결하는 가장 좋은 방법이 무엇인지 알고 싶습니다. 이전 질문에서 Java EE/web Java 사양으로 인해 자신의 스레드를 만들고 사용하는 것은 엄격히 금지되어 있습니다 (실제로는 가능하지만 트릭을 사용해야하며 그렇게하지 않는 것이 좋습니다).

나는 모든 웹 응용 프로그램이 스스로 멀티 스레드이기 때문에 내 머리에 오는 유일한 방법은 어떻게 든 내 계산 문제를 멀티 쿼리로 변환하여 모든 요청에 ​​할 일의 일부를 부여하는 것입니다. (어쩌면 JMS의 도움으로)? 그러나 이것이 진정으로 달성 할 수 있는지 확실하지 않습니다. (우리에게 요청을 보내십시오 :)). 아무도 나에게 미래에 그러한 문제를 어떻게 처리해야 하는지를 말해 줄 수 있습니까? (또는 그것을 다룰 수 있습니까?)

편집 :

예를 유전자 알고리즘 들어, 우리는 휴리스틱을 사용하여 해결 될 수있는 문제가 있다고 가정하자 때문에 물어, 내가 예를 게시하도록하겠습니다. 이 알고리즘은 많은 스레드에서 평가할 수 있으므로 병렬 프로그래밍을 사용하고자합니다. 그러나 모든 것이 웹 브라우저에서 액세스 할 수 있어야하고 우리는 하나의 앱에서 모든 것을 갖기를 원하므로 (알고리즘을 웹 애플리케이션에 임베드해야 함) 웹 애플리케이션으로 만들어야합니다.

좋아, 우리는 독립형 응용 프로그램으로 이것을 할 수 있고 JMX, WebServices 또는 다른 것들을 사용하여 원격으로 관리 할 수 ​​있음을 알고 있습니다. 그러나 우리가 하나의 웹 응용 프로그램으로 인식 할 수 있는지 알고 싶습니다.

+0

해결하려는 문제 유형과 같은 시나리오를보다 자세하게 설명 할 수 있습니까? 그것은 SO 사용자가 도움을 줄 때 유용 할 것입니다. – techuser

답변

0

EE의 멀티 스레딩은 다른 게시물에서 지적한대로 컨테이너에서 실행중인 다른 응용 프로그램을 침해 할 수 있습니다. 쉬운 솔루션은 다른 머신에서 별도의 JVM을 사용하고 원격 프로 시저 호출 (RMI는 쉬운 방법입니다)으로 액세스하는 것입니다. 그런 식으로 제한없이 원하는 모든 작업을 수행 할 수 있습니다.

관련 문제