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
}
ServiceConfigurator represents service configurator
type Option ¶
type Option func(c *ServiceInfo)
func WithAddress ¶
func WithKind ¶
func WithKind(kind constant.ServiceKind) Option
func WithMetaData ¶
func WithScheme ¶
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 }
Server ...
type Service ¶
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 ¶
func ApplyOptions(options ...Option) ServiceInfo
Click to show internal directories.
Click to hide internal directories.