cherryCluster

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2021 License: MIT Imports: 15 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_cluster_proto protoreflect.FileDescriptor

Functions

func DefaultRoute added in v1.1.0

func DefaultRoute(session *cherrySession.Session, msg RpcMsg, context RouteContextClass, cb Callback)

DefaultRoute Calculate route info and return an appropriate node id.

func RandomRoute added in v1.1.0

func RandomRoute(client *RPCClient, nodeType string, msg RpcMsg, cb Callback)

RandomRoute Random algorithm for calculating node id.

func RegisterMemberNodeServer added in v1.1.0

func RegisterMemberNodeServer(s *grpc.Server, srv MemberNodeServer)

func RoundRobinRoute added in v1.1.0

func RoundRobinRoute(client *RPCClient, nodeType string, msg RpcMsg, cb Callback)

func WeightRoundRoute added in v1.1.0

func WeightRoundRoute(client *RPCClient, nodeType string, msg RpcMsg, cb Callback)

Types

type Callback added in v1.1.0

type Callback func(error error, nodeId string)

type Component added in v1.1.1

type Component struct {
}

Component 集群组件

type ForwardMessage added in v1.1.0

type ForwardMessage struct {
	Type   int32  `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	NodeId string `protobuf:"bytes,2,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	Sid    int64  `protobuf:"varint,3,opt,name=sid,proto3" json:"sid,omitempty"`
	Id     uint64 `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
	Route  string `protobuf:"bytes,5,opt,name=route,proto3" json:"route,omitempty"`
	Data   []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*ForwardMessage) Descriptor deprecated added in v1.1.0

func (*ForwardMessage) Descriptor() ([]byte, []int)

Deprecated: Use ForwardMessage.ProtoReflect.Descriptor instead.

func (*ForwardMessage) GetData added in v1.1.0

func (x *ForwardMessage) GetData() []byte

func (*ForwardMessage) GetId added in v1.1.0

func (x *ForwardMessage) GetId() uint64

func (*ForwardMessage) GetNodeId added in v1.1.0

func (x *ForwardMessage) GetNodeId() string

func (*ForwardMessage) GetRoute added in v1.1.0

func (x *ForwardMessage) GetRoute() string

func (*ForwardMessage) GetSid added in v1.1.0

func (x *ForwardMessage) GetSid() int64

func (*ForwardMessage) GetType added in v1.1.0

func (x *ForwardMessage) GetType() int32

func (*ForwardMessage) ProtoMessage added in v1.1.0

func (*ForwardMessage) ProtoMessage()

func (*ForwardMessage) ProtoReflect added in v1.1.0

func (x *ForwardMessage) ProtoReflect() protoreflect.Message

func (*ForwardMessage) Reset added in v1.1.0

func (x *ForwardMessage) Reset()

func (*ForwardMessage) String added in v1.1.0

func (x *ForwardMessage) String() string

type MemberNodeClient added in v1.1.0

type MemberNodeClient interface {
	Forward(ctx context.Context, in *ForwardMessage, opts ...grpc.CallOption) (*Response, error)
	CloseSession(ctx context.Context, in *SessionId, opts ...grpc.CallOption) (*Response, error)
}

MemberNodeClient is the client API for MemberNode service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMemberNodeClient added in v1.1.0

func NewMemberNodeClient(cc grpc.ClientConnInterface) MemberNodeClient

type MemberNodeServer added in v1.1.0

type MemberNodeServer interface {
	Forward(context.Context, *ForwardMessage) (*Response, error)
	CloseSession(context.Context, *SessionId) (*Response, error)
}

MemberNodeServer is the server API for MemberNode service.

type NodeId added in v1.1.0

type NodeId struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeId) Descriptor deprecated added in v1.1.0

func (*NodeId) Descriptor() ([]byte, []int)

Deprecated: Use NodeId.ProtoReflect.Descriptor instead.

func (*NodeId) GetId added in v1.1.0

func (x *NodeId) GetId() string

func (*NodeId) ProtoMessage added in v1.1.0

func (*NodeId) ProtoMessage()

func (*NodeId) ProtoReflect added in v1.1.0

func (x *NodeId) ProtoReflect() protoreflect.Message

func (*NodeId) Reset added in v1.1.0

func (x *NodeId) Reset()

func (*NodeId) String added in v1.1.0

func (x *NodeId) String() string

type NodeInfo added in v1.1.0

type NodeInfo struct {
	Id       string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	NodeType string `protobuf:"bytes,2,opt,name=nodeType,proto3" json:"nodeType,omitempty"`
	Address  string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeInfo) Descriptor deprecated added in v1.1.0

func (*NodeInfo) Descriptor() ([]byte, []int)

Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead.

func (*NodeInfo) GetAddress added in v1.1.0

func (x *NodeInfo) GetAddress() string

func (*NodeInfo) GetId added in v1.1.0

func (x *NodeInfo) GetId() string

func (*NodeInfo) GetNodeType added in v1.1.0

func (x *NodeInfo) GetNodeType() string

func (*NodeInfo) ProtoMessage added in v1.1.0

func (*NodeInfo) ProtoMessage()

func (*NodeInfo) ProtoReflect added in v1.1.0

func (x *NodeInfo) ProtoReflect() protoreflect.Message

func (*NodeInfo) Reset added in v1.1.0

func (x *NodeInfo) Reset()

func (*NodeInfo) String added in v1.1.0

func (x *NodeInfo) String() string

type NodeList added in v1.1.0

type NodeList struct {
	NodesInfo []*NodeInfo `protobuf:"bytes,1,rep,name=nodesInfo,proto3" json:"nodesInfo,omitempty"`
	// contains filtered or unexported fields
}

func (*NodeList) Descriptor deprecated added in v1.1.0

func (*NodeList) Descriptor() ([]byte, []int)

Deprecated: Use NodeList.ProtoReflect.Descriptor instead.

func (*NodeList) GetNodesInfo added in v1.1.0

func (x *NodeList) GetNodesInfo() []*NodeInfo

func (*NodeList) ProtoMessage added in v1.1.0

func (*NodeList) ProtoMessage()

func (*NodeList) ProtoReflect added in v1.1.0

func (x *NodeList) ProtoReflect() protoreflect.Message

func (*NodeList) Reset added in v1.1.0

func (x *NodeList) Reset()

func (*NodeList) String added in v1.1.0

func (x *NodeList) String() string

type RPCClient added in v1.1.0

type RPCClient struct {
	Nodes   map[string]RpcNodeInfo
	NodeMap map[string][]string

	RoundRobinParam  map[string]int
	WeightRoundParam map[string]struct {
		Index  int
		Weight int
	}
	// contains filtered or unexported fields
}

func (*RPCClient) AddListener added in v1.1.0

func (*RPCClient) AddListener(listener cherryFacade.INodeListener)

func (*RPCClient) All added in v1.1.0

func (*RPCClient) Get added in v1.1.0

func (*RPCClient) Get(nodeId string) cherryFacade.INode

func (*RPCClient) GetType added in v1.1.0

func (*RPCClient) GetType(nodeId string) (nodeType string, err error)

func (*RPCClient) Sync added in v1.1.0

func (*RPCClient) Sync()

type RPCClientOpts added in v1.1.0

type RPCClientOpts struct {
}

type RPCServer added in v1.1.0

type RPCServer struct {
}

type Response added in v1.1.0

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

func (*Response) Descriptor deprecated added in v1.1.0

func (*Response) Descriptor() ([]byte, []int)

Deprecated: Use Response.ProtoReflect.Descriptor instead.

func (*Response) ProtoMessage added in v1.1.0

func (*Response) ProtoMessage()

func (*Response) ProtoReflect added in v1.1.0

func (x *Response) ProtoReflect() protoreflect.Message

func (*Response) Reset added in v1.1.0

func (x *Response) Reset()

func (*Response) String added in v1.1.0

func (x *Response) String() string

type RouteContext added in v1.1.0

type RouteContext struct {
}

type RouteContextClass added in v1.1.0

type RouteContextClass interface {
	GetNodesByType(nodeType string) RouteNodes
}

type RouteNodes added in v1.1.0

type RouteNodes []RpcNodeInfo

type RpcMsg added in v1.1.0

type RpcMsg interface {
	Namespace() string
	NodeType() string
	HandleName() string
	Method() string
	Args() []interface{}
}

type RpcNodeInfo added in v1.1.0

type RpcNodeInfo struct {
	Id       string
	Host     string
	Port     int
	NodeType string
	// contains filtered or unexported fields
}

type SessionId added in v1.1.0

type SessionId struct {
	Sid int64 `protobuf:"varint,1,opt,name=sid,proto3" json:"sid,omitempty"`
	// contains filtered or unexported fields
}

func (*SessionId) Descriptor deprecated added in v1.1.0

func (*SessionId) Descriptor() ([]byte, []int)

Deprecated: Use SessionId.ProtoReflect.Descriptor instead.

func (*SessionId) GetSid added in v1.1.0

func (x *SessionId) GetSid() int64

func (*SessionId) ProtoMessage added in v1.1.0

func (*SessionId) ProtoMessage()

func (*SessionId) ProtoReflect added in v1.1.0

func (x *SessionId) ProtoReflect() protoreflect.Message

func (*SessionId) Reset added in v1.1.0

func (x *SessionId) Reset()

func (*SessionId) String added in v1.1.0

func (x *SessionId) String() string

type TargetRouteFunction added in v1.1.0

type TargetRouteFunction func(nodeType string, msg RpcMsg, routeParam interface{}, cb Callback)

type UnimplementedMemberNodeServer added in v1.1.0

type UnimplementedMemberNodeServer struct {
}

UnimplementedMemberNodeServer can be embedded to have forward compatible implementations.

func (*UnimplementedMemberNodeServer) CloseSession added in v1.1.0

func (*UnimplementedMemberNodeServer) Forward added in v1.1.0

Jump to

Keyboard shortcuts

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