JS 与 trick 代码的运用及解析全攻略
898
2022-10-26
⚡ 高性能低延迟的 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
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~