Skip to content

Plugins for go-micro {registry, broker, codec, transport, ...}

License

Notifications You must be signed in to change notification settings

st3v/go-plugins

Repository files navigation

Go Plugins License GoDoc Travis CI Go Report Card

A repository for go-micro and go-os plugins. The go-micro framework is a pluggable architecture, here we provide additional plugins to swap out the defaults.

Check out the Micro on NATS blog post to learn more about plugins https://blog.micro.mu/2016/04/11/micro-on-nats.html.

Contributions welcome! Join the community to discuss further.

What's here?

Directory Description
Bot Bot inputs and commands
Broker Asynchronous Pub/Sub; NATS, NSQ, RabbitMQ, Kafka
Client RPC Client; gRPC
Codec RPC Encoding; BSON, Mercury
KV Key-Value; Memcached, Redis
Metrics Instrumentation; Statsd, Telegraf, Prometheus
Micro Micro Toolkit Plugins
Registry Service Discovery; Etcd, Gossip, NATS
Selector Node Selection; Label, Mercury
Server Alternative servers; HTTP
Sync Locking/Leadership election; Consul, Etcd
Trace Distributed tracing; Zipkin
Transport Synchronous Request/Response; NATS, RabbitMQ
Wrappers Client/Server middleware; Circuit Breakers, Rate Limit

Community Contributions

Feature Description Author
Registry/Kubernetes Service discovery via the Kubernetes API @nickjackson
Registry/Zookeeper Service discovery using Zookeeper @HeavyHorst

Usage

Plugins can be added to go-micro in the following ways. By doing so they'll be available to set via command line args or environment variables.

import (
	"github.com/micro/go-micro/cmd"
	_ "github.com/micro/go-plugins/broker/rabbitmq"
	_ "github.com/micro/go-plugins/registry/kubernetes"
	_ "github.com/micro/go-plugins/transport/nats"
)

func main() {
	cmd.Init()
}

OR use them directly

import (
	"github.com/micro/go-plugins/registry/kubernetes"
)

func main() {
	r := kubernetes.NewRegistry([]string{}) // default to using env vars for master API
}

About

Plugins for go-micro {registry, broker, codec, transport, ...}

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published