MuleESB / Apache Camel Interview Questions
What is the Saga EIP in Camel and when would you use it for distributed transaction management?
The Saga EIP implements the Saga pattern for managing long-running distributed transactions without using two-phase commit (2PC). A saga is a sequence of local transactions coordinated by a compensation log: if any step fails, previously completed steps are rolled back via compensating transactions.
The Saga EIP is used when you need consistency across microservices that each own their own database and cannot share a single ACID transaction — for example, booking a flight, hotel, and car in one business flow where each service is independent.
from("direct:book-trip")
.saga()
.compensation("direct:cancel-trip") // run if saga fails
.completion("direct:confirm-trip") // run on success
.to("direct:book-flight")
.to("direct:book-hotel")
.to("direct:charge-card")
.end();
from("direct:cancel-trip")
.to("direct:cancel-flight")
.to("direct:cancel-hotel");Camel integrates with the LRA (Long Running Actions) specification via the camel-lra component, which uses a coordinator service. The Saga EIP guarantees eventual consistency rather than strict ACID consistency. It is the right choice for microservice choreography where 2PC would create tight coupling or lock contention.
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
