Go Micro
Go Micro is a pluggable RPC framework for distributed systems development.
The micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out. It comes with built in support for {json,proto}-rpc encoding, consul or multicast dns for service discovery, http for communication and random hashed client side load balancing.
Plugins are available at github.com/micro/go-plugins.
Follow us on Twitter or join the Slack community.
Features
Go Micro abstracts away the details of distributed systems. Here are the main features.
- Service Discovery - Automatic service registration and name resolution
- Load Balancing - Client side load balancing built on discovery
- Message Encoding - Dynamic encoding based on content-type with protobuf and json support
- Sync Streaming - RPC based communication with support for bidirectional streaming
- Async Messaging - Native PubSub messaging built in for event driven architectures
Getting Started
For detailed information on the architecture, installation and use of go-micro checkout the docs.
Sponsors
Sixt is an Enterprise Sponsor of Micro
Become a sponsor by backing micro on Patreon