Transaction processing is easy
Most of todays solutions are suffering from excessively complex architecture and hard maintainable infrastructure, not to mention an overall maintenance cost of them.
The purpose of Reveno is to give an easy domain-oriented development tool with simple and transparent infrastructure, with perfectly fitted components for max performance. But easy doesn't mean simplistic. Instead, we are different in intention to give you as many options as possible, so you can choose the best one for you.
Reveno is an in-memory transactional event-driven framework with CQRS and event sourcing intruded. See our Architecture overview
Reveno is based on JVM and written fully on Java.
Reveno is fast and low latency - Able to process millions of transaction per second with microseconds latency.
Reveno is domain oriented - your primary focus will be on the core domain and domain logic only.
Reveno is GC-friendly - despite it is general purpose framework, we minize the costs as much as possible.
Reveno is robust - we have much durability options as well as failover replication among cluster, pre-allocated volumes and much more.
Reveno is lightweight. The core is about 300kb only.
Fluent and self-expressive
Sample banking case done with Reveno API:
Reveno reveno = new Engine("/tmp/reveno-sample"); reveno.config().mutableModel(); reveno.domain() .transaction("createAccount", (t,c) -> c.repo().store(t.id(), new Account(t.arg()))) .uniqueIdFor(Account.class).command(); reveno.domain() .transaction("changeBalance", (t,c) -> c.repo().get(Account.class, t.arg()) .balance += t.intArg("inc")) .command(); reveno.startup(); long accountId = reveno.executeSync("createAccount", map("name", "John")); reveno.executeSync("changeBalance", map("id", accountId, "inc", 10_000)); reveno.shutdown();
See full example on our documentation page
There are various ways to let us know about yourself.
You can post to our Google Groups forum in case you have any kind of questions and suggestions which you can share with others.
All observed bugs are better to go to our Issues page.
If you have any private enquiry about Reveno, please drop us a line on firstname.lastname@example.org