server

package
v0.0.0-...-a89d410 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigInfo

type ConfigInfo struct {
	Routes []Route
}

ConfigInfo ServiceConfigurator represents service configurator

type Option

type Option func(c *ServiceInfo)

func WithAddress

func WithAddress(address string) Option

func WithKind

func WithKind(kind constant.ServiceKind) Option

func WithMetaData

func WithMetaData(key, value string) Option

func WithScheme

func WithScheme(scheme string) Option

type Route

type Route struct {
	// 权重组,按照
	WeightGroups []WeightGroup
	// 方法名
	Method string
}

Route ...

type Server

type Server interface {
	Serve() error
	Stop() error
	GracefulStop(ctx context.Context) error
	Info() *ServiceInfo
	Healthz() bool
}

Server ...

type ServiceInfo

type ServiceInfo struct {
	Name     string               `json:"name"`
	AppID    string               `json:"appId"`
	Scheme   string               `json:"scheme"`
	Address  string               `json:"address"`
	Weight   float64              `json:"weight"`
	Enable   bool                 `json:"enable"`
	Healthy  bool                 `json:"healthy"`
	Metadata map[string]string    `json:"metadata"`
	Region   string               `json:"region"`
	Zone     string               `json:"zone"`
	Kind     constant.ServiceKind `json:"kind"`
	Version  string               `json:"version"`
	Mode     string               `json:"mode"`
	Hostname string               `json:"hostname"`
	// Deployment 部署组: 不同组的流量隔离
	// 比如某些服务给内部调用和第三方调用,可以配置不同的deployment,进行流量隔离
	Deployment string `json:"deployment"`
	// Group 流量组: 流量在Group之间进行负载均衡
	Group string `json:"group"`
}

ServiceInfo represents service info

func ApplyOptions

func ApplyOptions(options ...Option) ServiceInfo

func (ServiceInfo) Equal

func (si ServiceInfo) Equal(o interface{}) bool

Equal allows the values to be compared by Attributes.Equal, this change is in order to fit the change in grpc-go: attributes: add Equal method; resolver: add AddressMap and State.BalancerAttributes (#4855)

func (ServiceInfo) Label

func (si ServiceInfo) Label() string

Label ...

func (*ServiceInfo) RegistryName

func (s *ServiceInfo) RegistryName() string

RegistryName returns the registry name of the service

func (*ServiceInfo) ServicePrefix

func (s *ServiceInfo) ServicePrefix() string

type WeightGroup

type WeightGroup struct {
	Group  string
	Weight int
}

WeightGroup ...

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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