Documentation
¶
Index ¶
- Constants
- func IsSuccess(code uint32) bool
- type AsyncRateLimitConnector
- func (a *AsyncRateLimitConnector) Destroy()
- func (a *AsyncRateLimitConnector) GetMessageSender(svcKey model.ServiceKey, hashValue uint64) (serverconnector.RateLimitMsgSender, error)
- func (a *AsyncRateLimitConnector) OnTaskEvent(event model.TaskEvent)
- func (a *AsyncRateLimitConnector) Process(taskKey interface{}, taskValue interface{}, lastProcessTime time.Time) model.TaskResult
- func (a *AsyncRateLimitConnector) StreamCount() int
- type Connector
- func (g *Connector) CreateConnection(address string, timeout time.Duration, clientInfo *network.ClientInfo) (network.ClosableConn, error)
- func (g *Connector) DeRegisterServiceHandler(key *model.ServiceEventKey) error
- func (g *Connector) DeregisterInstance(req *model.InstanceDeRegisterRequest) error
- func (g *Connector) Destroy() error
- func (g *Connector) GetAsyncRateLimitConnector() serverconnector.AsyncRateLimitConnector
- func (g *Connector) GetConnectionManager() network.ConnectionManager
- func (g *Connector) Heartbeat(req *model.InstanceHeartbeatRequest) error
- func (g *Connector) Init(ctx *plugin.InitContext) error
- func (g *Connector) IsEnable(cfg config.Configuration) bool
- func (g *Connector) Name() string
- func (g *Connector) RegisterInstance(req *model.InstanceRegisterRequest) (*model.InstanceRegisterResponse, error)
- func (g *Connector) RegisterServiceHandler(svcEventHandler *serverconnector.ServiceEventHandler) error
- func (g *Connector) ReportClient(req *model.ReportClientRequest) (*model.ReportClientResponse, error)
- func (g *Connector) Start() error
- func (g *Connector) Type() common.Type
- func (g *Connector) UpdateServers(key *model.ServiceEventKey) error
- type CounterIdentifier
- type DurationBaseCallBack
- type HostIdentifier
- type InitializeRecord
- type StreamCounterSet
- func (s *StreamCounterSet) AdjustTime() int64
- func (s *StreamCounterSet) CompareTo(value interface{}) int
- func (s *StreamCounterSet) EnsureDeleted(value interface{}) bool
- func (s *StreamCounterSet) Expired(nowMilli int64, clearRecords bool) bool
- func (s *StreamCounterSet) HasInitialized(svcKey model.ServiceKey, labels string) bool
- func (s *StreamCounterSet) SendInitRequest(initReq *rlimitV2.RateLimitInitRequest, ...)
- func (s *StreamCounterSet) SendReportRequest(clientReportReq *rlimitV2.ClientRateLimitReportRequest) error
Constants ¶
View Source
const ( //默认GRPC链路包接收大小 DefaultMaxCallRecvMsgSize = 50 * 1024 * 1024 //GRPC链路包接收大小的设置上限 MaxMaxCallRecvMsgSize = 500 * 1024 * 1024 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AsyncRateLimitConnector ¶
type AsyncRateLimitConnector struct {
// contains filtered or unexported fields
}
目前只实现了 RateLimit-Acquire的异步 和 metric-report的异步
func NewAsyncRateLimitConnector ¶
func NewAsyncRateLimitConnector( valueCtx model.ValueContext, clientInfo *network.ClientInfo, cfg config.Configuration) *AsyncRateLimitConnector
NewAsyncRateLimitConnector
func (*AsyncRateLimitConnector) GetMessageSender ¶
func (a *AsyncRateLimitConnector) GetMessageSender( svcKey model.ServiceKey, hashValue uint64) (serverconnector.RateLimitMsgSender, error)
创建流上下文
func (*AsyncRateLimitConnector) OnTaskEvent ¶
func (a *AsyncRateLimitConnector) OnTaskEvent(event model.TaskEvent)
OnTaskEvent 任务事件回调
func (*AsyncRateLimitConnector) Process ¶
func (a *AsyncRateLimitConnector) Process( taskKey interface{}, taskValue interface{}, lastProcessTime time.Time) model.TaskResult
定时处理过期任务
func (*AsyncRateLimitConnector) StreamCount ¶
func (a *AsyncRateLimitConnector) StreamCount() int
获取stream的数量,用于测试
type Connector ¶
type Connector struct { *plugin.PluginBase *common.RunContext // contains filtered or unexported fields }
Connector cl5服务端代理,使用GRPC协议对接
func (*Connector) CreateConnection ¶
func (g *Connector) CreateConnection( address string, timeout time.Duration, clientInfo *network.ClientInfo) (network.ClosableConn, error)
创建连接
func (*Connector) DeRegisterServiceHandler ¶
func (g *Connector) DeRegisterServiceHandler(key *model.ServiceEventKey) error
DeRegisterEventHandler 反注册事件监听器 异常场景:当sdk已经退出过程中,则返回error
func (*Connector) DeregisterInstance ¶
func (g *Connector) DeregisterInstance(req *model.InstanceDeRegisterRequest) error
DeregisterInstance 同步反注册服务
func (*Connector) GetAsyncRateLimitConnector ¶
func (g *Connector) GetAsyncRateLimitConnector() serverconnector.AsyncRateLimitConnector
func (*Connector) GetConnectionManager ¶
func (g *Connector) GetConnectionManager() network.ConnectionManager
获取连接管理器
func (*Connector) Heartbeat ¶
func (g *Connector) Heartbeat(req *model.InstanceHeartbeatRequest) error
Heartbeat 心跳上报
func (*Connector) RegisterInstance ¶
func (g *Connector) RegisterInstance(req *model.InstanceRegisterRequest) (*model.InstanceRegisterResponse, error)
RegisterInstance 同步注册服务
func (*Connector) RegisterServiceHandler ¶
func (g *Connector) RegisterServiceHandler(svcEventHandler *serverconnector.ServiceEventHandler) error
RegisterServiceHandler 注册服务监听器 异常场景:当key不合法或者sdk已经退出过程中,则返回error
func (*Connector) ReportClient ¶
func (g *Connector) ReportClient(req *model.ReportClientRequest) (*model.ReportClientResponse, error)
上报客户端信息 异常场景:当sdk已经退出过程中,则返回error 异常场景:当服务端不可用或者上报失败,则返回error,调用者需进行重试
func (*Connector) UpdateServers ¶
func (g *Connector) UpdateServers(key *model.ServiceEventKey) error
更新服务端地址 异常场景:当地址列表为空,或者地址全部连接失败,则返回error,调用者需进行重试
type CounterIdentifier ¶
type CounterIdentifier struct {
// contains filtered or unexported fields
}
计数器标识
type DurationBaseCallBack ¶
type DurationBaseCallBack struct {
// contains filtered or unexported fields
}
基于时间段的回调结构
type InitializeRecord ¶
type InitializeRecord struct {
// contains filtered or unexported fields
}
初始化记录
type StreamCounterSet ¶
type StreamCounterSet struct { //目标节点信息 HostIdentifier *HostIdentifier // contains filtered or unexported fields }
同一个节点的counter集合,用于回调
func NewStreamCounterSet ¶
func NewStreamCounterSet(asyncConnector *AsyncRateLimitConnector, identifier *HostIdentifier) *StreamCounterSet
新建流管理器
func (*StreamCounterSet) CompareTo ¶
func (s *StreamCounterSet) CompareTo(value interface{}) int
比较两个元素
func (*StreamCounterSet) EnsureDeleted ¶
func (s *StreamCounterSet) EnsureDeleted(value interface{}) bool
删除前进行检查,返回true才删除,该检查是同步操作
func (*StreamCounterSet) Expired ¶
func (s *StreamCounterSet) Expired(nowMilli int64, clearRecords bool) bool
检查是否已经超时
func (*StreamCounterSet) HasInitialized ¶
func (s *StreamCounterSet) HasInitialized(svcKey model.ServiceKey, labels string) bool
是否已经初始化
func (*StreamCounterSet) SendInitRequest ¶
func (s *StreamCounterSet) SendInitRequest( initReq *rlimitV2.RateLimitInitRequest, callback serverconnector.ResponseCallBack)
发送初始化请求
func (*StreamCounterSet) SendReportRequest ¶
func (s *StreamCounterSet) SendReportRequest(clientReportReq *rlimitV2.ClientRateLimitReportRequest) error
发送上报请求
Click to show internal directories.
Click to hide internal directories.