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

Reveno是一个基于JVM的高性能、低延迟的异步交易处理框架,专注于事件溯源和CQRS模式。它能够在普通硬件上每秒处理数百万次交易,平均延迟只有几十微秒。Reveno注重持久性,提供了丰富的配置选项,如日志记录、内存模型快照和集群故障转移复制,确保系统的可靠性。其易于编码的流畅API让开发者可以专注于领域模型和业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

68747470733a2f2f6261646765732e6769747465722e696d2f646d61727432382f726576656e6f2e73766768747470733a2f2f6170692e62696e747261792e636f6d2f7061636b616765732f62696e747261792f6a63656e7465722f6f72672e726576656e6f253341726576656e6f2d636f72652f696d616765732f646f776e6c6f61642e737667

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 overview

Reveno 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值