9.3. saga 서비스 구성
saga EIP를 사용하려면 org.apache.camel.saga.CamelSagaService
인터페이스를 구현하는 서비스가 Camel 컨텍스트에 추가되어야 합니다. Camel은 현재 다음과 같은 SAga 서비스를 지원합니다.
- InMemorySagaService: Secretga EIP의 기본 구현은 고급 기능(원격 컨텍스트 전파 없음, 애플리케이션 장애 시 일관성 보장 없음)을 지원하지 않습니다.
9.3.1. 메모리 내 사가 서비스 사용
SAga 상태의 지속성을 지원하지 않으므로 (메모리만 유지됨) 애플리케이션 장애 발생 시 사가 EIP의 일관성을 보장할 수 없기 때문에 프로덕션 환경에서 In-memory SAga 서비스는 권장되지 않습니다(예: JVM 충돌). 또한 메모리 내 SAga 서비스를 사용할 때 saga 컨텍스트를 전송 수준 헤더를 사용하여 원격 서비스로 전달할 수 없습니다(다른 구현으로 수행할 수 있음). 메모리 내 saga 서비스를 사용하려는 경우 다음 코드를 추가하여 Camel 컨텍스트를 사용자 지정할 수 있습니다. 서비스는 camel-core
모듈에 속합니다.
context.addService(new org.apache.camel.impl.saga.InMemorySagaService());