Asyncmachine-go Alternatives
Similar projects and alternatives to asyncmachine-go
-
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
ergo
An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.
-
-
Akka.net
Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
redwood
A highly-configurable, distributed, realtime database that manages a state tree shared among many peers. (by brynbellomy)
-
asyncmachine-go discussion
asyncmachine-go reviews and mentions
-
Ergo: Erlang-inspired event driven actor framework in Go
> you cannot send messages directly to a goroutine
Goroutines communicate through channels, all you need is a queue (eg buffered chan).
> you cannot terminate a goroutine from another goroutine
Termination is propagated via context cancellation. go-A cancels ctx, go-B waits with `select`, reads from `<-ctx.Done()` and does a `return`, or checks it after each blocking call.
> there are no "goroutine-local variables"
Not sure if I got this one, but every var in a function's scope, which has been `go`-routined, would qualify.
I'm currently working on a lib/framework somehow related to Ergo, but taking a more "generic" approach of a state machine[0]. It may solve some of the mentioned issues with Go, like addressing and queues for communication.
You seem to be very attached to an idea of using the same goroutine for a long time, whereas it's usually more dynamic and only schedulers are long lived `go`-s.
[0]: https://github.com/pancsta/asyncmachine-go
- Show HN: Asyncmachine-go, declarative workflows with relations (state machine)
Stats
pancsta/asyncmachine-go is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of asyncmachine-go is Go.