Go to file
2018-11-14 15:18:13 +00:00
broker Add errors check 2018-11-13 11:56:21 +03:00
client fix rpc client call WARNING: DATA RACE 2018-09-20 10:08:00 +08:00
cmd fix bug with go-config panic 2018-09-13 19:02:08 +03:00
codec Add errors check 2018-11-13 11:56:21 +03:00
errors errors: Added 405 Method Not Allowed helper function 2018-09-12 21:42:34 +07:00
metadata switch to stdlib context 2018-03-03 11:53:52 +00:00
registry go fmt 2018-11-03 12:17:11 +00:00
selector Fix some linter issues 2018-11-13 11:57:42 +03:00
server Fix some linter issues 2018-11-13 11:57:42 +03:00
transport Merge pull request #289 from micro/http2 2018-11-03 12:07:23 +00:00
.travis.yml bump travis 2018-08-28 16:00:04 +01:00
function_test.go restructure test 2018-05-28 15:40:28 +01:00
function.go Move publication to message 2018-04-14 18:21:02 +01:00
go-micro.go switch to stdlib context 2018-03-03 11:53:52 +00:00
go-micro.png update image 2016-04-22 10:34:32 +01:00
LICENSE Add apache license 2015-02-27 09:38:47 +00:00
options.go Fix broker registry issue 2018-04-17 08:30:36 +01:00
publisher.go rename Streamer to Stream 2018-04-14 18:15:09 +01:00
README.md strip down readme 2018-11-14 15:18:13 +00:00
service_test.go reorder testing functions 2018-05-25 14:39:50 +01:00
service.go add flags for register ttl and interval 2018-04-06 14:03:39 +01:00
wrapper_test.go switch to stdlib context 2018-03-03 11:53:52 +00:00
wrapper.go rename Streamer to Stream 2018-04-14 18:15:09 +01:00

Go Micro License GoDoc Travis CI Go Report Card

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

Go Micro supports both the Service and Function programming models. Read on to learn more.

Getting Started

For detailed information on the architecture, installation and use of go-micro checkout the docs.

Learn By Example

An example service can be found in examples/service and function in examples/function.

Sponsors

Sixt is an Enterprise Sponsor of Micro

Become a sponsor by backing micro on Patreon