gossip

package
Version: v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2019 License: Apache-2.0 Imports: 18 Imported by: 1

README

Gossip Registry

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

Usage

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 192.168.1.65:56390

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

MICRO_REGISTRY_ADDRESS=192.168.1.65:56390

Documentation

Overview

Package gossip provides a gossip registry based on hashicorp/memberlist

Index

Constants

This section is empty.

Variables

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
)

Functions

func Address added in v1.4.0

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 added in v1.4.0

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

Config sets *memberlist.Config for configuring gossip

func ConnectRetry added in v1.4.0

func ConnectRetry(v bool) registry.Option

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

func ConnectTimeout added in v1.4.0

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 added in v1.4.0

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.

Types

This section is empty.

Directories

Path Synopsis
module

Jump to

Keyboard shortcuts

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