All Projects → RayTale → Vertex

RayTale / Vertex

Licence: mit
Vertex is a distributed, ultimately consistent, event traceable cross platform framework based on Orleans, which is used to build high-performance, high throughput, low latency, scalable distributed applications

Projects that are alternatives of or similar to Vertex

Ray
项目停止更新,新项目:https://github.com/RayTale/Vertex
Stars: ✭ 635 (+442.74%)
Mutual labels:  event-sourcing, event-driven, orleans, actor, cqrs
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+35.9%)
Mutual labels:  event-sourcing, event-driven, cqrs-es, cqrs
Booster
Booster Cloud Framework
Stars: ✭ 136 (+16.24%)
Mutual labels:  event-sourcing, event-driven, cqrs-es, cqrs
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-87.18%)
Mutual labels:  cqrs, event-sourcing, distributed, cqrs-es
Rails event store
A Ruby implementation of an Event Store based on Active Record
Stars: ✭ 947 (+709.4%)
Mutual labels:  event-sourcing, event-driven, cqrs-es, cqrs
Asombroso Ddd
Una lista cuidadosamente curada de recursos sobre Domain Driven Design, Eventos, Event Sourcing, Command Query Responsibility Segregation (CQRS).
Stars: ✭ 41 (-64.96%)
Mutual labels:  event-sourcing, event-driven, cqrs-es, cqrs
Pos
Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY
Stars: ✭ 207 (+76.92%)
Mutual labels:  event-sourcing, event-driven, cqrs-es, cqrs
Event Sourcing Cqrs Examples
Event Sourcing and CQRS in practice.
Stars: ✭ 265 (+126.5%)
Mutual labels:  event-sourcing, cqrs-es, cqrs
Event Source Cqrs Sample
Sample ES/CQRS application
Stars: ✭ 380 (+224.79%)
Mutual labels:  event-sourcing, event-driven, cqrs
Orleankka
Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka/
Stars: ✭ 429 (+266.67%)
Mutual labels:  event-sourcing, orleans, cqrs
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+505.13%)
Mutual labels:  event-sourcing, event-driven, cqrs
Awesome Elixir Cqrs
A curated list of awesome Elixir and Command Query Responsibility Segregation (CQRS) resources.
Stars: ✭ 467 (+299.15%)
Mutual labels:  event-sourcing, cqrs-es, cqrs
Eventstore
Event store using PostgreSQL for persistence
Stars: ✭ 729 (+523.08%)
Mutual labels:  event-sourcing, cqrs-es, cqrs
Commanded
Use Commanded to build Elixir CQRS/ES applications
Stars: ✭ 1,280 (+994.02%)
Mutual labels:  event-sourcing, cqrs-es, cqrs
zio-event-sourcing
Purely functional concurent and scalable persistance layer implementing CQRS
Stars: ✭ 34 (-70.94%)
Mutual labels:  cqrs, event-sourcing, cqrs-es
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (+253.85%)
Mutual labels:  event-sourcing, event-driven, cqrs
Ray2
Orleans-based CQRS event-driven framework. distributed, ultra-high performance
Stars: ✭ 19 (-83.76%)
Mutual labels:  distributed, event-driven, orleans
Neventlite
NEventLite - An extensible lightweight library for .NET that manages the Aggregate lifecycle in an Event Sourced system. Supports Event and Snapshot storage providers like EventStore/Redis or SQL Server. Built with dependency injection in mind and seamlessly integrates with AspNetCore.
Stars: ✭ 117 (+0%)
Mutual labels:  event-sourcing, event-driven, cqrs-es
Foxoffice
Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.
Stars: ✭ 33 (-71.79%)
Mutual labels:  event-sourcing, event-driven, cqrs
ftgogo
FTGOGO - event-driven architecture demonstration application using edat
Stars: ✭ 82 (-29.91%)
Mutual labels:  cqrs, event-sourcing, event-driven

Vertex是一个基于Orleans开发的分布式、最终一致性、事件溯源的跨平台框架,用于构建高性能、高吞吐、低延时、可扩展的分布式应用程序

license NuGet Join the chat at https://gitter.im/RayTale/Ray

  • 框架采用Event sourcing来解决分布式事务问题,除了提供超高吞吐的分布式事务能力之外,还提供状态变化的详细事件日志,易于追踪溯源,在某些领域有着天然的优势。

  • 基于. Net 5.0和Orleans开发,支持从单个本地服务器扩展到多服务器集群,提供高可用能力。


项目起源

Vertex是Ray框架的3.0版本,Ray诞生之初是为虚拟币交易引擎提供一个全内存、高吞吐、低延时、可追溯、分布式的事务框架。

虚拟币交易引擎的指标要求比股票交易系统高很多,有一些硬性指标要求:

  • 极高吞吐:大量搬砖机器人在下单撤单,对系统的吞吐要求非常高。

  • 极低延时:虚拟币价格波动非常大,用户和挂单机器人都需要低延时来保证灵敏度,不然很容易亏损。

  • 稳定性:7*24小时开放交易,对系统的高可用和伸缩性要求非常高。

  • 横向拓展:大量的新增交易对,需要能够随时进行横向扩容。

  • 可追溯性:要求对每一次金额变化和交易都有日志可追溯

遇到的困难

  • 事务流程较长:安全校验,金额变化,订单生成,撮合交易,订单更新,金额更新,账单生成,K线生成,挂单深度更新,触发计划订单...

如果按照传统的解决方案,如果要满足上述要求,除了巨大的复杂性之外还需要巨大的硬件成本

经过一段时间的研究和试验之后,决定使用saga + event sourcing结合来进行业务开发,但传统的各种类似的框架都存在各种问题,特别是性能问题。所以我决定基于Orleans来开发一个通用框架,经过半年多优化改良,框架达到了交易引擎要求的各项指标,单交易对能达到5000/s的订单能力,一次订单的提交延时控制在10ms以下,多交易对的处理能力可以通过增加集群节点来提高。

核心功能

  • 高性能分布式Actor
  • 事件溯源
  • 事件存储
  • 事件分发与订阅
  • 最终一致性编程模型
  • 强一致性编程模型
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].