registry

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2020 License: Apache-2.0 Imports: 5 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetService added in v0.2.0

func GetService(s string) *server.ServiceInfo

GetService ..

func GetServiceKey added in v0.2.0

func GetServiceKey(prefix string, s *server.ServiceInfo) string

GetServiceKey ..

func GetServiceValue added in v0.2.0

func GetServiceValue(s *server.ServiceInfo) string

GetServiceValue ..

Types

type Configuration

type Configuration struct {
	Routes []Route           `json:"routes"` // 配置客户端路由策略
	Labels map[string]string `json:"labels"` // 配置服务端标签: 分组
}

Configuration ...

type ConsumerConfig added in v0.2.0

type ConsumerConfig struct {
	ID     string `json:"id"`
	Scheme string `json:"scheme"`
	Host   string `json:"host"`
}

ConsumerConfig config of consumer 客户端调用app的配置

type Endpoints added in v0.2.0

type Endpoints struct {
	// 服务节点列表
	Nodes map[string]server.ServiceInfo

	// 路由配置
	RouteConfigs map[string]RouteConfig

	// 消费者元数据
	ConsumerConfigs map[string]ConsumerConfig

	// 服务元信息
	ProviderConfigs map[string]ProviderConfig
}

Endpoints ...

func (*Endpoints) DeepCopy added in v0.2.5

func (in *Endpoints) DeepCopy() *Endpoints

func (*Endpoints) DeepCopyInfo added in v0.2.5

func (in *Endpoints) DeepCopyInfo(out *Endpoints)

type Event added in v0.2.0

type Event uint8

Event ...

const (
	// EventUnknown ...
	EventUnknown Event = iota
	// EventUpdate ...
	EventUpdate
	// EventDelete ...
	EventDelete
)

type EventMessage added in v0.2.0

type EventMessage struct {
	Event
	Kind
	Name    string
	Scheme  string
	Address string
	Message interface{}
}

EventMessage ...

type Kind added in v0.2.0

type Kind uint8

Kind ...

const (
	// KindUnknown ...
	KindUnknown Kind = iota
	// KindProvider ...
	KindProvider
	// KindConfigurator ...
	KindConfigurator
	// KindConsumer ...
	KindConsumer
)

func ToKind added in v0.2.0

func ToKind(kindStr string) Kind

ToKind ...

func (Kind) String added in v0.2.0

func (kind Kind) String() string

String ...

type Nop

type Nop struct{}

Nop registry, used for local development/debugging

func (Nop) Close

func (n Nop) Close() error

Close ...

func (Nop) ListServices added in v0.2.0

func (n Nop) ListServices(ctx context.Context, s string, s2 string) ([]*server.ServiceInfo, error)

ListServices ...

func (Nop) RegisterService

func (n Nop) RegisterService(context.Context, *server.ServiceInfo) error

RegisterService ...

func (Nop) UnregisterService added in v0.2.0

func (n Nop) UnregisterService(context.Context, *server.ServiceInfo) error

UnregisterService ...

func (Nop) WatchServices added in v0.2.0

func (n Nop) WatchServices(ctx context.Context, s string, s2 string) (chan Endpoints, error)

WatchServices ...

type ProviderConfig added in v0.2.0

type ProviderConfig struct {
	ID     string `json:"id"`
	Scheme string `json:"scheme"`
	Host   string `json:"host"`

	Region     string            `json:"region"`
	Zone       string            `json:"zone"`
	Deployment string            `json:"deployment"`
	Metadata   map[string]string `json:"metadata"`
	Enable     bool              `json:"enable"`
}

ProviderConfig config of provider 通过这个配置,修改provider的属性

type Registry

type Registry interface {
	RegisterService(context.Context, *server.ServiceInfo) error
	UnregisterService(context.Context, *server.ServiceInfo) error
	ListServices(context.Context, string, string) ([]*server.ServiceInfo, error)
	WatchServices(context.Context, string, string) (chan Endpoints, error)
	io.Closer
}

Registry register/unregister service registry impl should control rpc timeout

type Route added in v0.2.0

type Route struct {
	// 路由方法名
	Method string `json:"method" toml:"method"`
	// 路由权重组, 按比率在各个权重组中分配流量
	WeightGroups []WeightGroup `json:"weightGroups" toml:"weightGroups"`
	// 路由部署组, 将流量导入部署组
	Deployment string `json:"deployment" toml:"deployment"`
}

Route represents route configuration

type RouteConfig added in v0.2.0

type RouteConfig struct {
	ID     string `json:"id" toml:"id"`
	Scheme string `json:"scheme" toml:"scheme"`
	Host   string `json:"host" toml:"host"`

	Deployment string   `json:"deployment"`
	URI        string   `json:"uri"`
	Upstream   Upstream `json:"upstream"`
}

RouteConfig ...

func (RouteConfig) String added in v0.2.0

func (config RouteConfig) String() string

String ...

type ServerInstance

type ServerInstance struct {
	Scheme string
	IP     string
	Port   int
	Labels map[string]string
}

ServerInstance ...

type Upstream added in v0.2.0

type Upstream struct {
	Nodes  map[string]int `json:"nodes"`
	Groups map[string]int `json:"groups"`
}

Upstream represents upstream balancing config

type WeightGroup added in v0.2.0

type WeightGroup struct {
	Group  string `json:"group" toml:"group"`
	Weight int    `json:"weight" toml:"weight"`
}

WeightGroup ...

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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