Documentation ¶
Index ¶
- func HasInstanceProtocol(insProto InstanceProtocol) bool
- type Instance
- type InstanceProtocol
- type OtherRegistrar
- type Registrar
- func (own *Registrar) FetchGateway(cid string) string
- func (own *Registrar) RegisterGateway(addr string) error
- func (own *Registrar) RegisterInstance(cid string, ins *Instance) error
- func (own *Registrar) RegisterRegistrarGateway(rcid, gateAddr string) error
- func (own *Registrar) RegisterRegistrarInstance(rcid, icid string, ins *Instance) error
- func (own *Registrar) SyncRegistrar(cid string, otherRegistrar *OtherRegistrar)
- func (own *Registrar) UnregisterGateway(cid string) (string, error)
- func (own *Registrar) UnregisterInstance(cid string) (*Instance, error)
- func (own *Registrar) UnregisterRegistrar(cid string) error
- func (own *Registrar) UnregisterRegistrarGateway(rcid, gateAddr string) error
- func (own *Registrar) UnregisterRegistrarInstance(rcid, icid string) error
- type RegistrarInstance
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HasInstanceProtocol ¶
func HasInstanceProtocol(insProto InstanceProtocol) bool
Types ¶
type Instance ¶
type Instance struct { Id string `json:"id"` // 实例ID,可使用InstanceAddr Addr string `json:"addr"` // 实例地址 Name string `json:"name"` // 实例名称 Protocol InstanceProtocol `json:"protocol"` // 服务协议: 0-HTTP; 1-RPC; 3-Websocket; Namespace string `json:"namespace"` // 命名空间 ServiceName string `json:"service_name"` // 服务名称 ServiceVer string `json:"service_ver"` // 服务版本 }
Instance 定义应用实例的数据结构
type InstanceProtocol ¶
type InstanceProtocol uint8
const ( INS_PROTO_RPC InstanceProtocol = iota // RPC INS_PROTO_HTTP // HTTP INS_PROTO_WEBSOCKET // Websocket )
func (InstanceProtocol) String ¶
func (own InstanceProtocol) String() string
type OtherRegistrar ¶
type OtherRegistrar struct { Gateways []string `json:"gateways"` // 其他注册中心连接的网关平台数量 Instances map[string]*Instance `json:"instances"` // 其他注册中心已注册的应用实例 }
OtherRegistrar 定义其他注册中心节点的数据结构
func NewOtherRegistrar ¶
func NewOtherRegistrar() *OtherRegistrar
type Registrar ¶
type Registrar struct { Gateways []string `json:"gateways"` // 当前注册中心连接的网关平台数量 Instances map[string]*Instance `json:"instances"` // 当前注册中心已注册的应用实例 Registrars map[string]*OtherRegistrar `json:"registrars"` // 当前注册中心同步的其他注册中心 }
Registrar 定义注册中心的数据结构
func NewRegistrar ¶
func NewRegistrar() *Registrar
func (*Registrar) FetchGateway ¶
func (*Registrar) RegisterGateway ¶
func (*Registrar) RegisterInstance ¶
func (*Registrar) RegisterRegistrarGateway ¶
func (*Registrar) RegisterRegistrarInstance ¶
func (*Registrar) SyncRegistrar ¶
func (own *Registrar) SyncRegistrar(cid string, otherRegistrar *OtherRegistrar)
func (*Registrar) UnregisterGateway ¶
func (*Registrar) UnregisterInstance ¶
func (*Registrar) UnregisterRegistrar ¶
func (*Registrar) UnregisterRegistrarGateway ¶
func (*Registrar) UnregisterRegistrarInstance ¶
type RegistrarInstance ¶
type RegistrarInstance struct { *Instance RegistrarAddr string `json:"registrar_addr"` // 实例所属注册中心地址 }
RegistrarInstance
Click to show internal directories.
Click to hide internal directories.