⚡ 高性能低延迟的 Event Sourcing/CQRS  框架

网友投稿 898 2022-10-26

⚡ 高性能低延迟的 Event Sourcing/CQRS  框架

⚡ 高性能低延迟的 Event Sourcing/CQRS  框架

Reveno | Event-Sourcing CQRS framework

Reveno is thoroughgoing lightning-fast, durable and yet simple async transaction processing JVM based framework made to fit your domain in first place. It's highly influenced by patterns/approaches like Event Sourcing, CQRS, Zero-Copy, DDD, Mechanical Symphaty.

High performance with low latency

Able to process millions of transactions per second with mean latency measured by tens of microseconds on an average hardware, thus delivering the result with the speed of lightning.

Durability

A rich set of configurations for journaling, in-memory model snapshotting and clustered failover replication makes the system totally reliable, so you make sure no single bit of data is lost.

Easy to code, fluent API

We kept simplicity at heart of the project so that you can concentrate only on a domain model and transactional business logic, and let Reveno do the rest dirty work for you.

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.

Few highlights:

Reveno is an in-memory transactional event-driven framework with CQRS and Event Sourcing intruded. See our Architecture overviewReveno is based on JVM and written fully in java.Reveno is fast - 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 modular - use only components you really need to.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.

Installation

Maven repository

The current list of available artifacts in Maven consists of:

reveno-core – includes all Reveno core packages, responsible for engine initialization, transaction processing, etc.reveno-metrics – includes packages, responsible for gathering metrics from working engine, and sending them to Graphite, Slf4j, etc.reveno-cluster – makes it possible to run Reveno in cluster with Master-Slave architecture, thus providing decent failover ability.

Importing last version

Maven

org.reveno reveno-core 1.23 org.reveno reveno-cluster 1.23

Gradle

dependencies { compile 'org.reveno:reveno-core:1.23' compile 'org.reveno:reveno-cluster:1.23'}

Sample usage

This example is not a quite useful in reality, but can give you a very good look at how easily relatively complex things can be done. For more real case example, we strongly encourage you to look at our examples.

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();

Quick start guide

For the quick start guide and other very useful documentation, go to our page http://reveno.org

Javadoc

Our javadoc page can be found here

Support

Google Groups | Email support | Issues

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【深入浅出JVM】——类加载过程
下一篇:spring cloud中Feign导入jar失败的问题及解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~