Documentation ¶
Index ¶
- func GetService(s string) *server.ServiceInfo
- func GetServiceKey(prefix string, s *server.ServiceInfo) string
- func GetServiceValue(s *server.ServiceInfo) string
- func RegisterBuilder(kind string, build Builder)
- func Service(srv server.Server) server.Server
- type BuildFunc
- type Builder
- type Config
- type Configuration
- type ConsumerConfig
- type Endpoints
- type Event
- type EventMessage
- type Kind
- type Local
- func (n Local) Close() error
- func (n Local) Kind() string
- func (n Local) ListServices(ctx context.Context, s string, s2 string) ([]*server.ServiceInfo, error)
- func (n Local) RegisterService(ctx context.Context, si *server.ServiceInfo) error
- func (n Local) UnregisterService(ctx context.Context, si *server.ServiceInfo) error
- func (n Local) WatchServices(ctx context.Context, s string, s2 string) (chan Endpoints, error)
- type ProviderConfig
- type Registry
- type Route
- type RouteConfig
- type ServerInstance
- type Upstream
- type WeightGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 ..
func RegisterBuilder ¶ added in v0.3.1
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) DeepCopyInfo ¶ added in v0.2.5
type EventMessage ¶ added in v0.2.0
type EventMessage struct { Event Kind Name string Scheme string Address string Message interface{} }
EventMessage ...
type Local ¶ added in v0.3.1
type Local struct{}
Nop registry, used for local development/debugging
func (Local) ListServices ¶ added in v0.3.1
func (n Local) ListServices(ctx context.Context, s string, s2 string) ([]*server.ServiceInfo, error)
ListServices ...
func (Local) RegisterService ¶ added in v0.3.1
RegisterService ...
func (Local) UnregisterService ¶ added in v0.3.1
UnregisterService ...
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) Kind() string 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 ...
type ServerInstance ¶
ServerInstance ...
type WeightGroup ¶ added in v0.2.0
type WeightGroup struct { Group string `json:"group" toml:"group"` Weight int `json:"weight" toml:"weight"` }
WeightGroup ...
Click to show internal directories.
Click to hide internal directories.