Our great sponsors
-
ergo
An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
You didn't even try Ergo but made a lot of conclusions about this project. Golang is a statically typed language. So, you need to register the type of your message for sending over the network. For local communication, you just cast it to the type of expected message. Please, spend a bit of your time at least on the examples https://github.com/ergo-services/examples (especially this one https://github.com/ergo-services/examples/tree/master/cloud - just one concrete example)
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
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.
Related posts
- Actor framework versus standard channels
- Ergo Framework v.2.2.2 is just released with the new cool feature gen.Pool
- 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.
- Anyone built an app using Ergo framework?
- Can Go have let it crash goroutine like in Erlang?