All Projects → RayTale → Ray

RayTale / Ray

Licence: mit
项目停止更新,新项目:https://github.com/RayTale/Vertex

Projects that are alternatives of or similar to Ray

Vertex
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
Stars: ✭ 117 (-81.57%)
Mutual labels:  event-sourcing, event-driven, orleans, actor, cqrs
eda
eda is a library for implementing event-driven architectures.
Stars: ✭ 31 (-95.12%)
Mutual labels:  cqrs, event-sourcing, event-driven
football-events
Event-Driven microservices with Kafka Streams
Stars: ✭ 57 (-91.02%)
Mutual labels:  cqrs, event-sourcing, event-driven
Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Stars: ✭ 414 (-34.8%)
Mutual labels:  event-sourcing, event-driven, cqrs
Event Source Cqrs Sample
Sample ES/CQRS application
Stars: ✭ 380 (-40.16%)
Mutual labels:  event-sourcing, event-driven, cqrs
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (-64.09%)
Mutual labels:  event-sourcing, event-driven, cqrs
Orleankka
Functional API for Microsoft Orleans http://orleanscontrib.github.io/Orleankka/
Stars: ✭ 429 (-32.44%)
Mutual labels:  event-sourcing, orleans, cqrs
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (-77.32%)
Mutual labels:  event-sourcing, event-driven, cqrs
eda-tutorial
Event-Driven Tutorial for Distributed Data with CQRS and Event Sourcing
Stars: ✭ 49 (-92.28%)
Mutual labels:  cqrs, event-sourcing, event-driven
commander
Build event-driven and event streaming applications with ease
Stars: ✭ 60 (-90.55%)
Mutual labels:  cqrs, event-sourcing, event-driven
incubator-eventmesh
EventMesh is a dynamic event-driven application runtime used to decouple the application and backend middleware layer, which supports a wide range of use cases that encompass complex multi-cloud, widely distributed topologies using diverse technology stacks.
Stars: ✭ 939 (+47.87%)
Mutual labels:  cqrs, event-sourcing, event-driven
Pos
Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY
Stars: ✭ 207 (-67.4%)
Mutual labels:  event-sourcing, event-driven, cqrs
Event Sourcing Microservices Example
Learn about building microservices with event sourcing using Spring Boot and how to deploy a social network to Kubernetes using Docker Compose or Helm.
Stars: ✭ 167 (-73.7%)
Mutual labels:  event-sourcing, event-driven, cqrs
Watermill
Building event-driven applications the easy way in Go.
Stars: ✭ 3,504 (+451.81%)
Mutual labels:  event-sourcing, event-driven, cqrs
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-74.96%)
Mutual labels:  event-sourcing, event-driven, cqrs
Learning.EventStore
A framework for CQRS, Eventsourcing, and messaging that uses Redis pub/sub for messaging and offers event persistence in Redis, SQL Server, or PostgreSQL.
Stars: ✭ 58 (-90.87%)
Mutual labels:  cqrs, event-sourcing, event-driven
dudulina
CQRS + Event Sourcing library for PHP
Stars: ✭ 53 (-91.65%)
Mutual labels:  cqrs, event-sourcing, event-driven
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-79.37%)
Mutual labels:  event-sourcing, event-driven, cqrs
Booster
Booster Cloud Framework
Stars: ✭ 136 (-78.58%)
Mutual labels:  event-sourcing, event-driven, cqrs
awesome-talks
Awesome talks about event sourcing, cqrs, microservices, funcional programming ...
Stars: ✭ 23 (-96.38%)
Mutual labels:  cqrs, event-sourcing, event-driven

Ray

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

This is a high-performance distributed framework that integrates Actor, Event Sourcing, and Eventual consistency (see: http://dotnet.github.io/orleans/)

Case start steps

In the case is a simple transactionless transfer function

  1. Install (mongodb or postgresql or mysql or sqlserver) and (rabbitmq or kafka).

  2. Select the event persistence method and EventBus in Program.cs of the Ray.Host project.

    var builder = new SiloHostBuilder()
        .UseConfiguration(config)
        .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(Account).Assembly).WithReferences())
        .ConfigureServices((context, servicecollection) =>
        {
            //Register postgresql as an event repository
            servicecollection.AddPostgreSQLStorage(config =>
            {
                config.ConnectionDict.Add("core_event", "Server=127.0.0.1;Port=5432;Database=Ray;User Id=postgres;Password=XXXX;Pooling=true;MaxPoolSize=20;");
            });
            //Configure distributed transaction manager (not required, only need to be set if distributed transaction is required)
            servicecollection.AddPostgreSQLTxStorage(options =>
            {
                options.ConnectionKey = "core_event";
                options.TableName = "Transaction_TemporaryRecord";
            });
            servicecollection.PSQLConfigure();
        })
        .Configure<MongoConfig>(c => c.Connection = "mongodb://127.0.0.1:28888")
        .Configure<RabbitConfig>(c =>
        {
            c.UserName = "admin";
            c.Password = "XXXX";
            c.Hosts = new[] {"127.0.0.1:5672" };
            c.MaxPoolSize = 100;
            c.VirtualHost = "/";
        })
        .ConfigureLogging(logging => logging.AddConsole());

Third, modify the configuration information of Ray.Client.

    var config = ClientConfiguration.LocalhostSilo();
    var client = new ClientBuilder()
        .UseConfiguration(config)
        .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(IAccount).Assembly).WithReferences())
        .ConfigureLogging(logging => logging.AddConsole())
        .Build();
    await client.Connect();

Fourth, start Ray.Host

Five, start Ray.Client

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].