2017-10-19 2 views
1

우리의 솔루션에서 EIP 패턴을 구현하는 데 Apache camel을 사용할 것을 고려하고 있습니다. 우리의 요구 사항은 장애로부터 복구 할 수있는 내결함성 시스템을 구축하는 것입니다.Apache Camel - JVM 충돌에서 복구

나는 Apache Camel (데드 레터 채널)에서 사용할 수있는 기본 오류 처리 기능을 알고 있으며 필자의 요구 사항을 충족시킵니다.

그러나 JVM 충돌과 같은 치명적인 오류를 복구 할 수 있도록 솔루션을 구성하는 방법은 분명하지 않습니다.

Javascript 충돌 후 마지막으로 알려진 상태에서 Camel 앱을 다시 시작하는 가장 좋은 방법은 영구 대기열을 사용하여 시스템 상태를 유지하는 것이 아니라고 생각하십니까?

저는 Spring Integration이 영구 채널을 생성하는 구성을 제공한다고 생각합니다. Apache Camel도 비슷한 구성을 지원합니까?

답변

1

그렇습니다. 영구 저장 장치에 메시징을 사용할 수 있으므로 JVM 충돌에서 견딜 수있는 내결함성 응용 프로그램을 빌드 할 수 있습니다.

영구 저장 장치로 사용하기로 선택한 항목을 선택하십시오. 예를 들어 Apache ActiveMQ/Artemis와 같은 JMS 메시지 중개자를 사용할 수 있으며 처리 된 JMS를 사용할 수있는 경로에 Camel JMS 구성 요소를 사용하여 메시지가 성공적으로 처리되지 않으면 메시지가 dequed되지 않도록 할 수 있습니다. 따라서 JVM이 중간에 충돌 한 경우 메시지는 여전히 브로커에 있으며 JVM이 시작되어 다시 실행될 때 다시 처리 될 수 있습니다.

그러나 내결함성이있는 시스템을 설계하는 데는 여러 가지 방법이 있습니다. Apache Camel은 이와 관련하여 공개되어 있으며 귀하의 자유를 허용합니다.