Framework for building actors networks


Keywords
actor-framework, actor-model, actors, kino, consensus, leader-election, actor, actors-networks, communication-library, distributed-systems, microservices, reactive-programming, reactive-services, rendezvous
License
GPL-3.0
Install
Install-Package kino.Consensus -Version 0.0.5.6

Documentation

Kino - framework for building Actor networks

Build status NuGet version

Kino

Kino is a simple communication framework based on Actor model.

Unicast, multicast and direct message addressing, delivery-to-node confirmation, callbacks (routing response message to the resumption actor). Rendezvous service provides actors auto-discovery and reduces amount of required configuration. Actors can be single- or multithreaded.

Supported Platforms: .NET 4.7, .NET Core 2.1

What's new

Partner Rendezvous clusters can be configured to access actors from other networks.

It is simple!

Define an Actor:

public class MyMessageProcessor : Actor
{
    [MessageHandlerDefinition(typeof (MyMessage))]
    public async Task<IActorResult> MyMessageHandler(IMessage message)
    {
        // method body
    }
}

Send a Message:

// Just create a message you would like to send
IMessage request = Message.CreateFlowStartMessage(new MyMessage());
// Define result message you would like to receive
ICallbackPoint callbackPoint = CallbackPoint.Create<ResultMessage>();
// Now, send the message. No need to know actor address, ID or anything else!
IPromise promise = messageHub.Send(request, callbackPoint);
// Wait for result
ResultMessage result = promise.GetResponse().Result.GetPayload<ResultMessage>();

Tell me more!

If you are interested in the project, please, read wiki for details about the framework, ask related questions or suggest features in chat! Join the chat at https://gitter.im/iiwaasnet/kino

kino-based Projects

Powered by NetMQ