2017-01-23 1 views
3

J'ai deux applications aller sur des machines différentes. Je veux qu'ils communiquent entre eux d'une manière native rapide.Comment connecter des applications Go distribuées?

Comment faire mieux? Je travaillais avec Erlang et trouvais très pratique la façon dont il est implémenté là-bas. Quels sont les moyens préférés pour communiquer entre les applications Go?

+1

Vous pouvez utiliser une file d'attente comme RabbitMQ. Google a également publié un projet appelé [gRPC] (http://www.grpc.io/docs/guides/) que vous pourriez aimer. – solarc

+3

["net/rpc"] (https://golang.org/pkg/net/rpc/), ["net/rpc/jsonrpc"] (https://golang.org/pkg/net/rpc/jsonrpc /), [gRPC] (http://www.grpc.io/docs/guides/), HTTP simple, de manière asynchrone via la file d'attente de messages, faites votre choix. – JimB

+0

Vous pouvez créer une API simple pour parler entre vos applications. – cheks

Répondre

1

net/rpc - hors de la boîte & rapide

GRPC - rapide et universel (imo la voie à suivre)

net/rpc/jsonrpc - bien quand vous avez besoin messages lisibles par l'homme ou veulent intégrer aller avec le côté client js code

plaine HTTP - overkill fo communication r entre les programmes go, vous devrez planifier des itinéraires et des données vous encodage, ce qui est des efforts inutiles

MSMQ - un peu plus lent approche, mais vous pouvez bénéficier de routage avancé et la persévérance qu'ils fournissent