ergo
An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies. (by ergo-services)
sijsop
A simple JSON-based protocol for Go, easy to implement for other languages (by thejerf)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ergo
Posts with mentions or reviews of ergo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-13.
-
Actor framework versus standard channels
Ergo Framework does - https://github.com/ergo-services/ergo
-
Anything close beam/otp for other languages?
https://github.com/ergo-services/ergo for golang
- Ergo Framework v.2.2.2 is just released with the new cool feature gen.Pool
-
What are the recommended connection pool libraries written in Golang?
I think you should clarify what exactly you need. If you need something like TCP/UDP socket acceptor pool you may want to try Ergo Framework with ready to use design patterns https://github.com/ergo-services/ergo . Example for TCP https://github.com/ergo-services/examples/tree/master/gentcp, for UDP https://github.com/ergo-services/examples/tree/master/genudp
-
Erlang's not about lightweight processes and message passing
In case if you want to feel a flavour of Erlang in Golang - https://github.com/ergo-services/ergo
-
Is there an equivalent to Elixir / GenServer in Go? Trying to create the same request / response pattern with better performance but not sure where to start.
Besides, something like this already exists, I don’t see the point, but hey to each there own… https://github.com/ergo-services/ergo
-
go-actor: Tiny library for writing concurrent programs in Go using actor model
Thanks for sharing. Looks good as a first attempt in the long way to production state. You may also want to take a look another approach of actor based implementation https://github.com/ergo-services/ergo
-
Anyone built an app using Ergo framework?
It looked very different than all the other frameworks I have seen. https://github.com/ergo-services/ergo/blob/master/examples/http/app.go
-
Can Go have let it crash goroutine like in Erlang?
If you love the Erlang way you may want to try ergo framework https://github.com/ergo-services/ergo
sijsop
Posts with mentions or reviews of sijsop.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-13.
-
What's the preferred way to pass data over a (custom) TCP connection?
There's a ton of options. You can look at https://github.com/thejerf/sijsop , perhaps more just because it's a very simple example of what you're asking for than necessarily because it's the perfect choice for everything, though I do use it in real code.
-
What are the recommended connection pool libraries written in Golang?
Moreover, because Ergo imports Erlang wholesale, it precludes things where you can send messages over the network and keep their types. Here's one simple example from a library of mine but there are numerous other options, gRPC, protocol buffers, etc. (I link this not because it is amazing code, but just because I have it on hand and personally know where it is. Also, note that as a demo program it demonstrates both typed and untyped receive; the "right" side does an untyped receive on purpose.) It is not necessary to lose types in general to go over a network.
-
Optimal dispatcher for json messages ?
The most efficient option is to send the type separately. I wrote and use sijsop for this, if you want something off-the-shelf.
-
Netchan alternative?
You might consider https://github.com/thejerf/sijsop , then. About as fast to get going as a network protocol can be.
-
Best way to allow two processes to interact with each other?
Personally I tend to use my JSON protocol library for slamming down a quick protocol, and probably use a unix socket if I'm on UNIX or a 127.0.0.1-bound network service if not.
What are some alternatives?
When comparing ergo and sijsop you can also consider the following projects:
micro - A Go service development platform
MessagePack - MessagePack serializer implementation for Java / msgpack.org[Java]
wesher - wireguard overlay mesh network manager
netchan - Natural network channels for Go - netchan can marshal Go channels
ristretto - A high performance memory-bound Go cache
examples - examples for demonstrating Ergo Framework features
yggdrasil-go - An experiment in scalable routing as an encrypted IPv6 overlay network
pool - common golang tcp connection pool
Pyrlang - Erlang node implemented in Python 3.5+ (Asyncio-based)
gosercomp - :zap: Golang Serializer Benchmark Comparison
exo - A process manager & log viewer for dev
Oragono - A modern IRC server (daemon/ircd) written in Go.