Lately, as a personal project, I’ve been working on a Pub/Sub based on FoundationDB. I think it turned out pretty interesting (given the stage of development), so I decided to open source it: https://github.com/pwliwanow/fdb-pubsub.
It’s inspired by Kafka and currently it’s exposed as a library. It provides Java and Scala API. Library is built on top of Akka Streams.
Most important features:
- Support for publishing events within FoundationDB transaction
- Easily scalable and fault tolerant storage (thanks to FoundationDB)
- Easy integration with Apache Cassandra, Apache Kafka, Elasticsearch and more (thanks to Akka Streams and Alpakka)
- Exposed as a library, so if you already operate FoundationDB there is no new stateful component to maintain
- Ability to compose custom transactional logic with commit transaction
More details, current limitations and description how to use it are present in README.
Please keep in mind that this library was just released, should be considered unstable and still some functionalities are missing (like deleting old records)
I would love to hear your suggestions for improvements and what you think about it!