model

package
v0.0.0-...-edd3e93 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

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 (own *Registrar) FetchGateway(cid string) string

func (*Registrar) RegisterGateway

func (own *Registrar) RegisterGateway(addr string) error

func (*Registrar) RegisterInstance

func (own *Registrar) RegisterInstance(cid string, ins *Instance) error

func (*Registrar) RegisterRegistrarGateway

func (own *Registrar) RegisterRegistrarGateway(rcid, gateAddr string) error

func (*Registrar) RegisterRegistrarInstance

func (own *Registrar) RegisterRegistrarInstance(rcid, icid string, ins *Instance) error

func (*Registrar) SyncRegistrar

func (own *Registrar) SyncRegistrar(cid string, otherRegistrar *OtherRegistrar)

func (*Registrar) UnregisterGateway

func (own *Registrar) UnregisterGateway(cid string) (string, error)

func (*Registrar) UnregisterInstance

func (own *Registrar) UnregisterInstance(cid string) (*Instance, error)

func (*Registrar) UnregisterRegistrar

func (own *Registrar) UnregisterRegistrar(cid string) error

func (*Registrar) UnregisterRegistrarGateway

func (own *Registrar) UnregisterRegistrarGateway(rcid, gateAddr string) error

func (*Registrar) UnregisterRegistrarInstance

func (own *Registrar) UnregisterRegistrarInstance(rcid, icid string) error

type RegistrarInstance

type RegistrarInstance struct {
	*Instance

	RegistrarAddr string `json:"registrar_addr"` // 实例所属注册中心地址
}

RegistrarInstance

Jump to

Keyboard shortcuts

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