I have two go apps running on different machines. I want them to communicate with each other in a native fast manner.
How do I do it better? I worked with Erlang and find very handy the way it's implemented there.
What are preferred ways to communicate between Go apps?
net/rpc - out of the box & fast
gRPC - fast and universal (imo the way to go)
net/rpc/jsonrpc - good when you need human readable messages or want to integrate go with client side js code
plain HTTP - overkill for communication between go programs, you'll have to plan routes and data encoding yourself, which is unnecessary effort
message queue - a bit slower approach, but you can benefit from advanced routing and persistence which they provide