...

Package eureka

import "github.com/go-kit/kit/sd/eureka"
Overview
Index

Overview ▾

Package eureka provides Instancer and Registrar implementations for Netflix OSS's Eureka

type Instancer

Instancer yields instances stored in the Eureka registry for the given app. Changes in that app are watched and will update the subscribers.

type Instancer struct {
    // contains filtered or unexported fields
}

func NewInstancer

func NewInstancer(conn fargoConnection, app string, logger log.Logger) *Instancer

NewInstancer returns a Eureka Instancer. It will start watching the given app string for changes, and update the subscribers accordingly.

func (*Instancer) Deregister

func (s *Instancer) Deregister(ch chan<- sd.Event)

Deregister implements Instancer.

func (*Instancer) Register

func (s *Instancer) Register(ch chan<- sd.Event)

Register implements Instancer.

func (*Instancer) Stop

func (s *Instancer) Stop()

Stop terminates the Instancer.

type Registrar

Registrar maintains service instance liveness information in Eureka.

type Registrar struct {
    sync.Mutex
    // contains filtered or unexported fields
}

func NewRegistrar

func NewRegistrar(conn fargoConnection, instance *fargo.Instance, logger log.Logger) *Registrar

NewRegistrar returns an Eureka Registrar acting on behalf of the provided Fargo connection and instance. See the integration test for usage examples.

func (*Registrar) Deregister

func (r *Registrar) Deregister()

Deregister implements sd.Registrar.

func (*Registrar) Register

func (r *Registrar) Register()

Register implements sd.Registrar.