akka.net - Port of Akka actors for .NET

  •        49

Akka.NET is a community-driven port of the popular Java/Scala framework Akka to .NET.If you are interested in helping porting Akka to .NET please take a look at Contributing to Akka.NET.

http://getakka.net
https://github.com/akkadotnet/akka.net

Tags
Implementation
License
Platform

   




Related Projects

akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM

  •    Scala

We believe that writing correct concurrent & distributed, resilient and elastic applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that.

akka-ddd - Akka CQRS/ES framework

  •    Scala

Akka-DDD is a framework for building distributed services following DDD/CQRS/ES architecture on top of the Akka platform. Thanks to the pluggable architecture of the Akka-Persistence, Akka-DDD is not tied to any particular event journal provider. The services are built as actor systems. Different services can be distributed in the same cluster (Akka cluster) or can be deployed to independent clusters.

orleans - Orleans - Distributed Virtual Actor Model

  •    CSharp

Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.It was created by Microsoft Research implementing the Virtual Actor Model and designed for use in the cloud.

protoactor-go - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

  •    Go

Introducing cross platform actor support between Go and C#.Can I use this? The Go implementation is still in beta, there are users using Proto Actor for Go in production already. But be aware that the API might change over time until 1.0.


Akka HTTP - The Streaming-first HTTP server/module of Akka

  •    Scala

The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It's not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.

frdomain - Code repo for Functional and Reactive Domain Modeling

  •    Scala

Code repo for Functional and Reactive Domain Modeling.Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. You will start with the basics of functional programming and gradually progress to the advanced concepts and patterns that you need to know to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make your model compose for readability and verifiability. On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. You will learn techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. You'll also pick up important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in-memory processing along with suitable guarantees of reliability.

nact - nact ⇒ node.js + actors ⇒ your services have never been so µ

  •    Javascript

Any and all feedback, comments and suggestions are welcome. Please open an issue if you find anything unclear or misleading in the documentation. This is the repository for the javascript implementation. To view/contribute to the ReasonML code, go to http://github.com/ncthbrt/reason-nact. To contribute to the documentation, https://github.com/ncthbrt/nact.io is the place to make PRs.

orbit - Orbit - Virtual actor framework for building distributed systems

  •    Java

Orbit is a framework to write distributed systems using virtual actors on the JVM. It allows developers to write highly distributed and scalable applications while greatly simplifying clustering, discovery, networking, state management, actor lifetime and more. Orbit received the 2016 Duke's Choice Award for Open Source, read here for more information.

alpakka - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka

  •    Scala

Systems don't come alone. In the modern world of microservices and cloud deployment, new components must interact with legacy systems, making integration an important key to success. Reactive Streams give us a technology-independent tool to let these heterogeneous systems communicate without overwhelming each other. The Alpakka project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

akka-bootcamp - Self-paced training course to learn Akka.NET fundamentals from scratch

  •    CSharp

Welcome to Akka.NET Bootcamp! This is a free, self-directed learning course brought to you by the folks at Petabridge. We will start with some basic actors and have you progressively work your way up to larger, more sophisticated examples.

alpakka-kafka - Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka

  •    Scala

Systems don't come alone. In the modern world of microservices and cloud deployment, new components must interact with legacy systems, making integration an important key to success. Reactive Streams give us a technology-independent tool to let these heterogeneous systems communicate without overwhelming each other. The Alpakka project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

akkadotnet-code-samples - Akka.NET professional reference code samples

  •    CSharp

Akka.NET is a radically different way of developing concurrent and networked applications in .NET, and so it's important to have a number of high quality reference applications developers can explore in order to better understand how to design and model software using Actors and Akka.NET. That's the goal of this repository - to provide a small number of exceptionally well-explained and documented examples .NET architects and developers can use to better understand how to take advantage of Akka.NET's full potential.

pykka - Pykka is a Python implementation of the actor model, which makes it easier to build concurrent applications

  •    Python

Pykka is a Python implementation of the actor model. The actor model introduces some simple rules to control the sharing of state and cooperation between execution units, which makes it easier to build concurrent applications. An actor is an execution unit that executes concurrently with other actors.

Lite

  •    DotNet

The intention of the Lite framework is to support actor-based programming in .NET languages. The actor model differs from conventional object-oriented progamming in that objects communicate via asynchronous message-passing instead of method calling.

akka-tracing - A distributed tracing extension for Akka

  •    Scala

A distributed tracing Akka extension based on Zipkin, which can be used as performance diagnostics and debugging tool. Distributed tracing approach used by Zipkin synergise with akka-remote and akka-cluster. Extension provides integration with Play framework and Spray toolkit.

Actix - Rust's powerful actor system and most fun web framework

  •    Rust

Actix is a Rust actors framework.The base of it is a powerful actor system for Rust on top of which the actix-web system was originally built. This is what you are most likely going to work with. What actix-web gives you is a fun and very fast web development framework.

avout - Avout: Distributed State in Clojure

  •    Clojure

Avout brings Clojure's in-memory model of state to distributed application development by providing a distributed implementation of Clojure's Multiversion Concurrency Control (MVCC) STM along with distributable, durable, and extendable versions of Clojure's Atom and Ref concurrency primitives. Avout enables techniques that require synchronous, coordinated (i.e. transactional) management of distributed state (see also JavaSpaces), complementing approaches that focus on asynchronous, uncoordinated communication between distributed components, e.g. message queues (0MQ, RabbitMQ, HornetQ), event-driven approaches (Netty, Aleph), and actors (Erlang, Akka).

Stact - An early actor framework for .NET, long since abandoned by me.

  •    CSharp

NOTE: If you are looking at the source - please run build.bat before opening the solution. It creates the SolutionVersion.cs file that is necessary for a successful build. Developing concurrent applications requires an approach that departs from current software development methods, an approach that emphasizes concurrency and communication between autonomous system components. The actor model defines a system of software components called actors that interact with each other by exchanging messages (instead of calling methods on interfaces in an object-oriented design), producing a system in which data (instead of control) flows through components to meet the functional requirements of the system.

reactive-microservices - Project showcasing different microservice communication styles using Scala, Akka, Play and other tools from Scala ecosystem

  •    Scala

Reactive microservices is an Typesafe Activator Template completely devoted to microservices architecture. It lets you learn about microservices in general - different patterns, communication protocols and 'tastes' of microservices. All these concepts are demonstrated using Scala, Akka, Play and other tools from Scala ecosystem. For the sake of clarity, we skipped topics related to deployment and operations. To feel comfortable while playing with this template, make sure you know basics of Akka HTTP which is a cornerstone of this project. We recently released an Akka HTTP activator template that may help you start. At least brief knowledge of Akka remoting, Akka persistence, Akka streams and Play Framework websockets is also highly recommended.