如何连接分布式Go应用程序?

如何连接分布式Go应用程序?,go,distributed,Go,Distributed,我有两个go应用程序在不同的机器上运行。 我希望他们以一种本地的快速方式相互交流 我怎样才能做得更好?我与Erlang一起工作,发现它在那里的实现方式非常方便 Go应用程序之间的首选通信方式是什么?net/rpc-开箱即用&快速 gRPC-快速且通用(imo的发展方向) net/rpc/jsonrpc-当您需要人类可读的消息或想要集成 使用客户端js代码 普通HTTP-对于go程序之间的通信,您必须自己规划路由和数据编码,这是不必要的工作 消息队列-稍微慢一点的方法,但您可以从它们提供的高级路由

我有两个go应用程序在不同的机器上运行。 我希望他们以一种本地的快速方式相互交流

我怎样才能做得更好?我与Erlang一起工作,发现它在那里的实现方式非常方便


Go应用程序之间的首选通信方式是什么?

net/rpc-开箱即用&快速

gRPC-快速且通用(imo的发展方向)

net/rpc/jsonrpc-当您需要人类可读的消息或想要集成 使用客户端js代码

普通HTTP-对于go程序之间的通信,您必须自己规划路由和数据编码,这是不必要的工作


消息队列-稍微慢一点的方法,但您可以从它们提供的高级路由和持久性中获益

您可以使用类似RabbitMQ的队列。谷歌还发布了一个名为which you make like的项目。纯HTTP,通过消息队列异步,随心所欲。您可以创建简单的api,用于在应用程序之间进行对话。