package module
v0.0.0-...-4fe21aa Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2020 License: Apache-2.0 Imports: 18 Imported by: 1


Gossip Registry

Gossip is a zero dependency registry which uses github.com/hashicorp/memberlist to broadcast registry information via the SWIM protocol.


Start with the registry flag or env var

MICRO_REGISTRY=gossip go run service.go

On startup you'll see something like

2018/12/06 18:17:48 Registry Listening on

To join this gossip ring set the registry address using flag or env var




Package gossip provides a gossip registry based on hashicorp/memberlist



This section is empty.


View Source
var (
	// You should change this if using secure
	DefaultSecret = []byte("micro-gossip-key") // exactly 16 bytes
	ExpiryTick    = time.Second * 1            // needs to be smaller than registry.RegisterTTL
	MaxPacketSize = 512


func Address

func Address(a string) registry.Option

Address to bind to - host:port

func Advertise(a string) registry.Option

The address to advertise for other gossip members to connect to - host:port

func Config

func Config(c *memberlist.Config) registry.Option

Config sets *memberlist.Config for configuring gossip

func ConnectRetry

func ConnectRetry(v bool) registry.Option

ConnectRetry enables reconnect to registry then connection closed, use with ConnectTimeout to specify how long retry

func ConnectTimeout

func ConnectTimeout(td time.Duration) registry.Option

ConnectTimeout sets the registry connect timeout. Use -1 to specify infinite timeout

func NewRegistry

func NewRegistry(opts ...registry.Option) registry.Registry

func Secret

func Secret(k []byte) registry.Option

Secret specifies an encryption key. The value should be either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256.


This section is empty.


Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL