micro/README.md
2018-11-27 19:43:57 +00:00

2.2 KiB

Go Micro License GoDoc Travis CI Go Report Card

Go Micro is a pluggable framework for distributed systems development.

Overview

Go Micro provides the core requirements for distributed systems development including RPC and Event driven communication. 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.

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 request/response with support for bidirectional streaming
  • Async Messaging - Native pubsub messaging built in for event driven architectures

Defaults

We provide simple defaults to get you started.

  • Service Discovery - consul or mdns
  • Load Balancing - client side random hashed
  • Message Encoding - protobuf and json-rpc
  • Request/Response - http and http2
  • PubSub Messaging - point to point http

Getting Started

See the docs for detailed information on the architecture, installation and use of go-micro.

Sponsors

Sixt is an Enterprise Sponsor of Micro

Become a sponsor by backing micro on Patreon