Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigInfo ¶ added in v0.2.0
type ConfigInfo struct {
Routes []Route
}
ServiceConfigurator represents service configurator
type Option ¶ added in v0.2.0
type Option func(c *ServiceInfo)
func WithAddress ¶ added in v0.2.0
func WithKind ¶ added in v0.2.0
func WithKind(kind constant.ServiceKind) Option
func WithMetaData ¶ added in v0.2.0
func WithScheme ¶ added in v0.2.0
type Route ¶ added in v0.2.0
type Route struct {
// 权重组,按照
WeightGroups []WeightGroup
// 方法名
Method string
}
Route ...
type Server ¶
type Server interface {
Serve() error
Stop() error
GracefulStop(ctx context.Context) error
Info() *ServiceInfo
}
Server ...
type Service ¶ added in v0.2.0
type Service struct {
Namespace string `json:"namespace" toml:"namespace"`
Name string `json:"name" toml:"name"`
Labels map[string]string `json:"labels" toml:"labels"`
Methods []string `json:"methods" toml:"methods"`
}
Service ...
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"`
// Deployment 部署组: 不同组的流量隔离
// 比如某些服务给内部调用和第三方调用,可以配置不同的deployment,进行流量隔离
Deployment string `json:"deployment"`
// Group 流量组: 流量在Group之间进行负载均衡
Group string `json:"group"`
Services map[string]*Service `json:"services" toml:"services"`
}
ServiceInfo represents service info
func ApplyOptions ¶ added in v0.2.0
func ApplyOptions(options ...Option) ServiceInfo
type WeightGroup ¶ added in v0.2.0
WeightGroup ...
Click to show internal directories.
Click to hide internal directories.