member_manager

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMember

func NewMember(name string, host string, port int) proto.IMember

func NewMemberManager

func NewMemberManager(localName, ServiceName string, localIp string, port int, meta map[string]string, consuleAddress string) (proto.IMemberManager, error)

Types

type IMemberSync

type IMemberSync interface {
	//ProxyCall(IProxyRequest, IProxyResponse)
	SyncKey(ISyncRequest, ISyncResponse)
}

type IProxyRequest

type IProxyRequest interface {
}

type IProxyResponse

type IProxyResponse interface {
}

type ISyncRequest

type ISyncRequest interface {
}

type ISyncResponse

type ISyncResponse interface {
}

type Member

type Member struct {
	rpc_proto.ISimpleRpc `json:"-"`
	MemberSub
}

func (*Member) Call

func (m *Member) Call(rpcname string, args interface{}, reply interface{}) error

func (*Member) GetName

func (m *Member) GetName() string

func (*Member) GetState

func (m *Member) GetState() int

func (*Member) GetTermId

func (m *Member) GetTermId() int64

func (*Member) Marshal

func (m *Member) Marshal() ([]byte, error)

func (*Member) Pub

func (m *Member) Pub(rpcname string, args interface{}, reply interface{}) error

func (*Member) SetActive

func (m *Member) SetActive()

func (*Member) SetInActive

func (m *Member) SetInActive()

func (*Member) UpdateTermId added in v1.1.0

func (m *Member) UpdateTermId(termId int64)

type MemberManager

type MemberManager struct {
	ServiceName string

	LocalIp string
	Port    int

	dc_proto.IDiscovery
	// contains filtered or unexported fields
}

func (*MemberManager) BroadCast

func (mm *MemberManager) BroadCast(rpcname string, args interface{}, reply interface{}) error

广播

func (*MemberManager) BroadCastDelRoute added in v1.0.4

func (mm *MemberManager) BroadCastDelRoute(routerKey string) error

func (*MemberManager) BroadCastDelUpdateRoute added in v1.1.0

func (mm *MemberManager) BroadCastDelUpdateRoute(routerKey string, member proto.IMember) error

func (*MemberManager) BroadCastRoute added in v0.1.3

func (mm *MemberManager) BroadCastRoute(routerKey string, member proto.IMember)

func (*MemberManager) CallAll

func (mm *MemberManager) CallAll(rpcname string, args interface{}, reply interface{}) (callReplys []interface{}, err error)

广播 只要有一个正常响应就行 这个逻辑是不是放到业务层去做更合适 可充当协调员的角色

func (*MemberManager) CallWithDelSync added in v1.0.5

func (mm *MemberManager) CallWithDelSync(routerKey, rpcName string, req, resp interface{}, localHandle func(req, resp interface{}) error) error

func (*MemberManager) CallWithOnceSync added in v1.1.0

func (mm *MemberManager) CallWithOnceSync(routerKey, rpcName string, req, resp interface{}, localHandle func(found bool, req, resp interface{}) error) error

func (*MemberManager) CallWithSync added in v1.0.2

func (mm *MemberManager) CallWithSync(routerKey, rpcName string, req, resp interface{}, localHandle func(found bool, req, resp interface{}) error) error

func (*MemberManager) CallWithUpdateSync added in v1.1.0

func (mm *MemberManager) CallWithUpdateSync(routerKey, rpcName string, req, resp interface{}, localHandle func(found bool, req, resp interface{}) error) error

func (*MemberManager) GetLocal

func (mm *MemberManager) GetLocal() proto.IMember

func (*MemberManager) GetLocalCopy added in v1.1.0

func (mm *MemberManager) GetLocalCopy() proto.IMember

func (*MemberManager) GetMember

func (mm *MemberManager) GetMember(routerKey string) proto.IMember

查找local路由信息 room_id -> {} key -> {Member的字段}

func (*MemberManager) GetMemberWithRemote added in v0.1.3

func (mm *MemberManager) GetMemberWithRemote(routerKey string) proto.IMember

本地没有则探测

func (*MemberManager) GetMemberWithTry added in v1.1.3

func (mm *MemberManager) GetMemberWithTry(routerKey string, retryCount int) (wantMember proto.IMember)

func (*MemberManager) GetMembers

func (mm *MemberManager) GetMembers() []proto.IMember

使用discovery获取

func (*MemberManager) GetRemoteMember added in v0.1.3

func (mm *MemberManager) GetRemoteMember(args interface{}, reply interface{}) <-chan proto.IMember

探测其它节点,同时同步其它没有的节点 todo 作为 协调员的角色, 比较各节点返回的node/termid 是否一致?

func (*MemberManager) GetRemovedKeysChan added in v1.2.1

func (mm *MemberManager) GetRemovedKeysChan(routerKey string) chan string

func (*MemberManager) GetRouter added in v1.0.2

func (mm *MemberManager) GetRouter() *buntdb.DB

func (*MemberManager) GetServiceXX added in v1.0.9

func (mm *MemberManager) GetServiceXX(blocking bool)

func (*MemberManager) OwnMember added in v1.0.2

func (mm *MemberManager) OwnMember(routerKey string) proto.IMember

本地有就处理, 否则直接返回

func (*MemberManager) RegisteRpc added in v0.1.5

func (mm *MemberManager) RegisteRpc(m ...interface{}) error

func (*MemberManager) RemoveLocalRoute added in v1.0.2

func (mm *MemberManager) RemoveLocalRoute(routerKey string) error

func (*MemberManager) RemoveUpdateLocalRoute added in v1.1.0

func (mm *MemberManager) RemoveUpdateLocalRoute(routerKey string, member proto.IMember) error

func (*MemberManager) Set

func (mm *MemberManager) Set(key string, val interface{})

func (*MemberManager) StartService

func (mm *MemberManager) StartService() error

func (*MemberManager) SyncRoute

func (mm *MemberManager) SyncRoute(member proto.IMember)

和另一个结点交互路由信息

func (*MemberManager) UpateLocalRoute

func (mm *MemberManager) UpateLocalRoute(routerKey string, member proto.IMember)

根据termid更新

type MemberSub

type MemberSub struct {
	Name string `json:"name"`

	Host   string `json:"host"`
	Port   int    `json:"port"`
	TermId int64  `json:"term_id"`

	State      int   `json:"state"`
	UpdateTime int64 `json:"update_time"`
}

type MemberSync

type MemberSync struct {
	// contains filtered or unexported fields
}

func (*MemberSync) DelKey added in v1.0.2

func (ms *MemberSync) DelKey(req SyncRequest, resp *SyncResponse) error

func (*MemberSync) DelKeyV2 added in v1.1.0

func (ms *MemberSync) DelKeyV2(req SyncRequest, resp *SyncResponse) error

func (*MemberSync) Probe

func (ms *MemberSync) Probe(req SyncRequest, resp *SyncResponse) error

同步或确认key的最新“分布”

func (*MemberSync) SyncKey

func (ms *MemberSync) SyncKey(req SyncRequest, resp *SyncResponse) error

同步或确认key的最新“分布”

type SyncRequest

type SyncRequest struct {
	Node MemberSub
	Key  string
}

func (SyncRequest) GetKey added in v0.1.3

func (req SyncRequest) GetKey() string

func (SyncRequest) GetKeyNode added in v0.1.3

func (req SyncRequest) GetKeyNode() proto.IMember

func (SyncRequest) GetSourceNode added in v0.1.3

func (req SyncRequest) GetSourceNode() proto.IMember

type SyncResponse

type SyncResponse struct {
	ErrorCode int
	Node      MemberSub
	SouceNode MemberSub
	Key       string
}

func (*SyncResponse) GetKey added in v0.1.3

func (resp *SyncResponse) GetKey() string

func (*SyncResponse) GetKeyNode added in v0.1.3

func (resp *SyncResponse) GetKeyNode() proto.IMember

func (*SyncResponse) GetSourceNode added in v0.1.3

func (resp *SyncResponse) GetSourceNode() proto.IMember

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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