Oracle Transaction Manager for Microservices(MicroTx)는 분산 트랜잭션을 활성화하여 Kubernetes 및/또는 기타 환경에 배포된 다중 언어 마이크로서비스들의 일관성을 보장함으로써 애플리케이션 개발 및 운영을 간소화시켜 줍니다.
MicroTx를 사용하면 복잡한 코드를 작성하지 않고도 마이크로서비스 및 클라우드 네이티브 앱 전반의 다양한 데이터 간 일관성을 확보할 수 있습니다. 다양한 트랜잭션 프로토콜과 클라이언트 라이브러리에 포함된 API 및 주석을 사용 가능한 MicroTx를 통해 Kubernetes와 Docker Swarm에 배포된 애플리케이션에서 간단히 분산 트랜잭션을 사용할 수 있습니다.
MicroTx는 2가지 사용 옵션을 제공합니다.
MicroTx는 트랜잭션 실패를 보상하기 위한 비즈니스 로직을 작성하거나, 그와 관련된 복잡한 테스트를 수행할 필요를 없애 주므로 개발자 생산성이 향상되고 및 시장 출시 기간은 단축됩니다.
개발자는 기존 도구와 프레임워크를 계속 사용할 수 있고, 기존 애플리케이션 코드의 극히 일부만 변경하여 MicroTx를 바로 사용할 수 있습니다.
MicroTx는 업계 표준 트랜잭션 프로토콜(예: XA, LRA, TCC)을 사용하여 데이터 일관성을 유지하므로 특정 공급업체에 종속될 위험을 줄일 수 있습니다.
MicroTx를 사용하면 Java, TypeScript, C/C++ 등으로 작성된 다중언어 마이크로서비스 및 프레임워크가 글로벌 분산 트랜잭션에 참여할 수 있습니다.
MicroTx의 핵심은 XA, Long Running Actions, Try-Confirm/Cancel이라는 세 가지 프로토콜을 담당하는 트랜잭션 조정 관리자입니다. 해당 트랜잭션 조정 관리자는 Kubernetes 클러스터 또는 Docker Swarm의 컨테이너에 마이크로서비스 형태로 배포됩니다. 마이크로서비스 기반 애플리케이션들은 MicroTx 라이브러리로 구현된 REST API를 통해 트랜잭션 조정 관리자와 통신합니다. MicroTx 라이브러리는 애플리케이션과 조정 관리자 간의 통신에 대한 모든 세부사항을 숨겨 주므로 애플리케이션 개발이 크게 간소화됩니다. MicroTx를 Kubernetes 클러스터에 배포하는 경우 Prometheus/Grafana 및 Kiali 등의 나머지 Kubernetes 생태계 도구들과 매우 원활하게 통합시킬 수 있습니다.