endless-transaction is a Scala library that provides a flexible functional abstraction to orchestrate distributed transactions based on cats-effect and the endless library. It is a simple tool to simplify the process of coordinating transactions using a two-phase commit protocol.

This is not “old-school” 2PC however: the library abstractions can be used to describe any form of two-phase consensus, allowing for both short and long-lived transactions (aka sagas).

Typelevel Affiliate Project Cats friendly