servicediscovery

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultServiceInstance

type DefaultServiceInstance struct {
	Id          string
	ServiceName string
	Host        string
	Port        uint64
	ClusterName string
	GroupName   string
	Tags        []string
	Enable      bool
	Healthy     bool
	Weight      float64
	Metadata    map[string]string
}

DefaultServiceInstance the default implementation of ServiceInstance or change the ServiceInstance to be struct???

func (*DefaultServiceInstance) GetClusterName

func (d *DefaultServiceInstance) GetClusterName() string

func (*DefaultServiceInstance) GetGroupName

func (d *DefaultServiceInstance) GetGroupName() string

func (*DefaultServiceInstance) GetHost

func (d *DefaultServiceInstance) GetHost() string

GetHost will return the hostname

func (*DefaultServiceInstance) GetId

func (d *DefaultServiceInstance) GetId() string

GetId will return this instance's id. It should be unique.

func (*DefaultServiceInstance) GetMetadata

func (d *DefaultServiceInstance) GetMetadata() map[string]string

GetMetadata will return the metadata, it will never return nil

func (*DefaultServiceInstance) GetPort

func (d *DefaultServiceInstance) GetPort() uint64

GetPort will return the port.

func (*DefaultServiceInstance) GetServiceName

func (d *DefaultServiceInstance) GetServiceName() string

GetServiceName will return the serviceName

func (*DefaultServiceInstance) GetTags

func (d *DefaultServiceInstance) GetTags() []string

func (*DefaultServiceInstance) GetWeight

func (d *DefaultServiceInstance) GetWeight() float64

func (*DefaultServiceInstance) IsEnable

func (d *DefaultServiceInstance) IsEnable() bool

IsEnable will return the enable status of this instance

func (*DefaultServiceInstance) IsHealthy

func (d *DefaultServiceInstance) IsHealthy() bool

IsHealthy will return the value represent the instance whether healthy or not

type Event

type Event struct {
	// Id is registry id
	Id string
	// Type defines type of event
	Type EventType
	// Timestamp is event timestamp
	Timestamp time.Time
	// Service is registry service
	Service *Service
}

Event is registry event

type EventType

type EventType int

EventType defines registry event type

const (
	// Create is emitted when a new service is registered
	Create EventType = iota
	// Delete is emitted when an existing service is unregsitered
	Delete
	// Update is emitted when an existing service is updated
	Update
)

func (EventType) String

func (t EventType) String() string

String returns human readable event type

type Result

type Result struct {
	Action  string
	Service *Service
}

type Service

type Service struct {
	Name     string            `json:"name"`
	Version  string            `json:"version"`
	Metadata map[string]string `json:"metadata"`
	Nodes    []ServiceInstance `json:"nodes"`
}

type ServiceInstance

type ServiceInstance interface {

	// GetId will return this instance's id. It should be unique.
	GetId() string

	// GetServiceName will return the serviceName
	GetServiceName() string

	// GetHost will return the hostname
	GetHost() string

	// GetPort will return the port.
	GetPort() uint64

	GetWeight() float64

	GetTags() []string

	GetClusterName() string

	GetGroupName() string

	// IsEnable will return the enable status of this instance
	IsEnable() bool

	// IsHealthy will return the value represent the instance whether healthy or not
	IsHealthy() bool

	// GetMetadata will return the metadata
	GetMetadata() map[string]string
}

ServiceInstance is the model class of an instance of a service, which is used for service registration and discovery.

type WatchOption

type WatchOption func(*WatchOptions)

type WatchOptions

type WatchOptions struct {
	// Specify a service to watch
	// If blank, the watch is for all services
	Service string
	// Other options for implementations of the interface
	// can be stored in a context
	Context context.Context
}

type Watcher

type Watcher interface {
	// Next is a blocking call
	Next() (*Result, error)
	Stop()
}

Jump to

Keyboard shortcuts

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