Transaction Manager for Microservices

Oracle Transaction Manager for Microservices(MicroTx)는 분산 트랜잭션을 활성화하여 Kubernetes 및/또는 기타 환경에 배포된 다중 언어 마이크로서비스들의 일관성을 보장함으로써 애플리케이션 개발 및 운영을 간소화시켜 줍니다.

마이크로서비스 기반 애플리케이션 전반에 대한 일관성 보장

MicroTx를 사용하면 복잡한 코드를 작성하지 않고도 마이크로서비스 및 클라우드 네이티브 앱 전반의 다양한 데이터 간 일관성을 확보할 수 있습니다. 다양한 트랜잭션 프로토콜과 클라이언트 라이브러리에 포함된 API 및 주석을 사용 가능한 MicroTx를 통해 Kubernetes와 Docker Swarm에 배포된 애플리케이션에서 간단히 분산 트랜잭션을 사용할 수 있습니다.

마이크로서비스 기반 애플리케이션 전반의 일관성 보장하기, 하단 설명 MicroTx의 핵심은 XA, Long Running Actions, Try-Confirm/Cancel이라는 세 가지 프로토콜을 담당하는 트랜잭션 조정 관리자입니다. 해당 트랜잭션 조정 관리자는 Kubernetes 클러스터 또는 Docker Swarm의 컨테이너에 마이크로서비스 형태로 배포됩니다. 마이크로서비스 기반 애플리케이션들은 MicroTx 라이브러리로 구현된 REST API를 통해 트랜잭션 조정 관리자와 통신합니다. MicroTx 라이브러리는 애플리케이션과 조정 관리자 간의 통신에 대한 모든 세부사항을 숨겨 주므로 애플리케이션 개발이 크게 간소화됩니다. MicroTx를 Kubernetes 클러스터에 배포하는 경우 Prometheus/Grafana 및 Kiali 등의 나머지 Kubernetes 생태계 도구들과 매우 원활하게 통합시킬 수 있습니다.

MicroTx는 2가지 사용 옵션을 제공합니다.

  • MicroTx Free: 누구나 자유롭게 다운로드하여 트랜잭션 마이크로서비스를 개발할 수 있는 완전 무료 제품입니다. MicroTx Free는 제한된 트랜잭션 처리량만을 지원하고, 평가 및 애플리케이션 개발 용도의 제한적 사용을 권장합니다. MicroTx Free는 커뮤니티 기반 지원을 제공합니다.
  • MicroTx Enterprise Edition: 엔터프라이즈 애플리케이션의 프로덕션 배포를 위해 개발된 MicroTx Enterprise Edition에는 고가용성, 확장성, 복원성 및 기타 엔터프라이즈 애플리케이션이 필요로 하는 요소들을 제공하기 위한 다양한 기능이 포함되어 있습니다. MicroTx Enterprise Edition은 무제한의 트랜잭션 처리량을 지원합니다. 제품 라이선스를 통해 Oracle Support 서비스를 사용할 수 있습니다.

MicroTx 기능

트랜잭션 패턴

  • 탁월한 일관성: 마이크로서비스 전반에 대한 강력한 데이터 일관성을 보장하고자 업계 표준 XA 프로토콜을 지원하는 MicroTx는 비 XA 리소스에 마지막 리소스 로깅(LLR)을 사용할 수 있는 옵션을 함께 제공합니다.
  • 최종 일관성: MicroTx에는 여행지 예약 등의 사용 사례에 대응하는 Eclipse MicroProfile의 장기 실행 작업(LRA) 사양을 구현하는 방식의 Sagas 관련 지원이 포함되어 있습니다.
  • 예약 모델: 예약 모델을 준수하는 사용 사례에 대한 Try-Confirm/Cancel 패턴을 지원합니다.

간편한 애플리케이션 개발

  • 사용하기 쉬운 API: MicroTx는 분산 트랜잭션 지원을 위해 기존 애플리케이션에서 간단히 사용할 수 있는 API들을 제공합니다.
  • 개발자 오버헤드 감소: 기존 애플리케이션 코드에서 몇 가지만 변경하면 MicroTx를 바로 사용할 수 있습니다.
  • 언어 및 프레임워크 지원: MicroTx는 Helidon, Spring Boot, Express 등의 다양한 애플리케이션 프레임워크를 사용하여 Java 및 TypeScript용 트랜잭션 경계설정 API를 제공합니다.
  • 애플리케이션 개발을 지원하기 위한 Spring Boot 전용 MicroTx 라이브러리를 제공합니다.
  • 동일한 애플리케이션에서 글로벌 트랜잭션의 여러 리소스 관리자에 액세스할 수 있습니다.

기존 앱과의 XA 상호 운용성

  • 데이터베이스 ORDS/APEX 애플리케이션/서비스는 MicroTx가 조정하는 XA 트랜잭션에 참여할 수 있습니다.
  • 기존 Tuxedo 애플리케이션 서비스는 다른 많은 마이크로서비스들과 동일한 XA 트랜잭션에 포함될 수 있습니다.
  • Oracle Blockchain Platform에서 호스팅되는 블록체인 애플리케이션은 MicroTx가 조정하는 XA 트랜잭션의 리소스 중 하나로 포함될 수 있습니다.
  • Oracle WebLogic Server 등의 앱 서버에서 실행되는 기존 J2EE 앱은 글로벌 XA 트랜잭션에 참여할 수 있습니다.

최적화(Enterprise Edition 전용)

  • 둘 이상의 리소스 관리자가 관련된 경우 로컬 트랜잭션을 글로벌 트랜잭션으로 자동 승격합니다.
  • 중간 트랜잭션 상태 저장소용 캐시를 통해 지연 시간을 단축시키고 처리량을 개선합니다.
  • 여러 마이크로서비스가 동일한 리소스 관리자와 통신하는 경우 공통 XID 최적화를 수행합니다.

고가용성, 확장성, 복원성(Enterprise Edition 전용)

  • 트랜잭션 상태를 Oracle Database 또는 etcd에 영구적으로 저장합니다.
  • 트랜잭션 조정자의 클러스터화된 배포를 지원합니다.
  • Oracle Real Application Clusters(RAC)를 지원합니다.

MicroTx의 이점

  • 개발자 생산성 향상

    MicroTx는 트랜잭션 실패를 보상하기 위한 비즈니스 로직을 작성하거나, 그와 관련된 복잡한 테스트를 수행할 필요를 없애 주므로 개발자 생산성이 향상되고 및 시장 출시 기간은 단축됩니다.

  • 기존 자산, 개발자 프레임워크 활용

    개발자는 기존 도구와 프레임워크를 계속 사용할 수 있고, 기존 애플리케이션 코드의 극히 일부만 변경하여 MicroTx를 바로 사용할 수 있습니다.

  • 업계 표준에 기반

    MicroTx는 업계 표준 트랜잭션 프로토콜(예: XA, LRA, TCC)을 사용하여 데이터 일관성을 유지하므로 특정 공급업체에 종속될 위험을 줄일 수 있습니다.

  • 다중언어 앱의 일관성 지원

    MicroTx를 사용하면 Java, TypeScript, C/C++ 등으로 작성된 다중언어 마이크로서비스 및 프레임워크가 글로벌 분산 트랜잭션에 참여할 수 있습니다.

    데이터시트 읽어보기(PDF)

MicroTx 시작하기


Oracle Cloud Free Tier에서 MicroTx 체험하기

Oracle Cloud에서 애플리케이션을 무료로 구축, 테스트, 배포해 보세요.


샘플 애플리케이션 체험하기

GitHub 저장소에서 MicroTx 샘플 애플리케이션을 다운로드하고 귀사만의 고유한 환경에서 직접 체험해 볼 수 있습니다.


영업 팀에 문의하기

자세한 내용이 궁금하신가요? 업계 최고의 전문가에게 문의하세요.