Transaction Manager for Microservices

Oracle Transaction Manager for Microservices (MicroTx) simplifies application development and operations by enabling distributed transactions to ensure consistency across polyglot microservices deployed in Kubernetes and/or other environments.

Ensuring consistency across microservices based applications

Using MicroTx, you can ensure a spectrum of data consistency across microservices and cloud native apps without writing any complex code. With a choice of transaction protocols and use of APIs and annotations included in the client libraries, MicroTx makes it easy to use distributed transactions in applications deployed in Kubernetes and Docker Swarm.

Ensuring consistency across microservices based applications, description below MicroTx's core is a transaction coordinator for three protocols: XA, Long Running Actions, and Try-Confirm/Cancel. The transaction coordinator itself is a microservice deployed in a container in either a Kubernetes cluster or in Docker Swarm. Microservices-based applications communicate with the transaction coordinator via REST APIs, implemented by MicroTx libraries. The MicroTx library hides all the details of communication between applications and the coordinator, significantly simplifying application development. If MicroTx is deployed in a Kubernetes cluster, it can be very well integrated with rest of the Kubernetes ecosystem tools, such as Prometheus/Grafana and Kiali.

MicroTx is available in the following two options:

  • MicroTx Free: A completely free product available for anyone to download and develop transactional microservices. MicroTx Free supports limited transaction throughput and is recommended for evaluations and application development purposes. Support for MicroTx Free is community based.
  • MicroTx Enterprise Edition: Targeted for production deployments of enterprise applications, MicroTx Enterprise Edition includes high availability, scalability, and resiliency as well as other features required by enterprise applications. MicroTx Enterprise Edition has no limit on transaction throughput. Oracle Support is available with the product license.

MicroTx features

Transaction patterns

  • Strong consistency: MicroTx supports industry standard XA protocol for strong data consistency across microservices with the option to use logging last resource (LLR) for non-XA resources.
  • Eventual consistency: MicroTx includes support for Sagas by implementing Eclipse MicroProfile’s long-running actions (LRA) specification for use cases such as travel booking.
  • Reservation model: Support for Try-Confirm/Cancel pattern for use cases that adhere to reservation model.

Ease of application development

  • Easy-to-use APIs: MicroTx provides a few APIs that can be easily used in an existing application to enable distributed transactions.
  • Less developer overhead: Use of MicroTx requires only a few changes in existing application code.
  • Language and framework support: MicroTx provides transaction demarcation APIs for Java and TypeScript using various application frameworks, such as Helidon and Spring Boot and Express.
  • Spring Boot–specific MicroTx libraries for ease of application development.
  • Access multiple resource managers in a global transaction from the same application.

XA interoperability with existing apps

  • Database ORDS/APEX applications/services can participate in an XA transaction coordinated by MicroTx.
  • Existing Tuxedo application services can be in the same XA transaction as many other microservices.
  • Blockchain applications hosted on Oracle Blockchain Platform can be one of the resources in an XA transaction being coordinated by MicroTx.
  • Existing J2EE apps running in app servers such as Oracle WebLogic Server can participate in a global XA transaction.

Optimizations (Enterprise Edition only)

  • Auto-promote local transactions to global transactions if more than one resource manager is involved.
  • Cache for intermediate transaction state store, resulting in lower latency and better throughput.
  • Common XID optimization if multiple microservices happen to talk to the same resource manager.

High availability, scalability, and resiliency (Enterprise Edition only)

  • Persistent storage of transaction state in either Oracle Database or etcd.
  • Clustered deployment of transaction coordinator.
  • Support for Oracle Real Application Clusters (RAC).

Benefits of MicroTx

  • Increased developer productivity

    MicroTx eliminates the need for developers to write business logic to compensate a failed transaction and complex testing associated with it, increasing productivity and time to market.

  • Leverages existing assets, developer frameworks

    Developers can continue to use their existing tools and frameworks; MicroTx only requires a few changes to existing applications.

  • Based on industry standards

    MicroTx enables data consistency using industry standard transaction protocols, such as XA, LRAs, and TCC, reducing any risk of vendor lock-in.

  • Enables consistency in multi-language apps

    With MicroTx, polyglot microservices written in Java, TypeScript, C/C++, etc. and frameworks can participate in global, distributed transactions.

    Read the datasheet (PDF)

Get started with MicroTx

Try MicroTx in Oracle Cloud Free Tier

Build, test, and deploy applications on Oracle Cloud for free.

Try sample applications

Download MicroTx sample applications from the GitHub repository and run in your own environment.

Contact sales

Interested in learning more? Contact one of our industry-leading experts.