Documentation
¶
Index ¶
- Constants
- type LimitMethodConf
- type LimitOption
- type LimitService
- type LimitServiceProvider
- func (provider *LimitServiceProvider) Clone() LimitService
- func (provider *LimitServiceProvider) Consume() error
- func (provider *LimitServiceProvider) ConsumeWithContext(ctx context.Context) error
- func (provider *LimitServiceProvider) GetOption() LimitOption
- func (provider *LimitServiceProvider) SetOption(option LimitOption)
Constants ¶
View Source
const ( ConsumeBusyError = "consume failed because your request is too busy" ConsumeTimeoutError = "consume failed because request deadline or waited timeout" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LimitMethodConf ¶
type LimitMethodConf interface { // 获取需要限流的接口方法名 GetLimitMethods() map[string]struct{} }
type LimitOption ¶
type LimitService ¶
type LimitService interface { // 查询option值 GetOption() LimitOption // 修改option结构体内的参数,支持实时更新 SetOption(option LimitOption) // 直接消费,如果请求过于频繁,则直接拒绝,返回error Consume() error // 阻塞消费,如果请求过于频繁,通过ctx设置的Deadline或者Timeout来等待一段时间,若资源不够,亦返回error ConsumeWithContext(ctx context.Context) error // 克隆复制一个新的限流服务接口 Clone() LimitService }
限流服务接口
func NewLimitService ¶
func NewLimitService(option LimitOption) LimitService
type LimitServiceProvider ¶
type LimitServiceProvider struct {
// contains filtered or unexported fields
}
func (*LimitServiceProvider) Clone ¶
func (provider *LimitServiceProvider) Clone() LimitService
func (*LimitServiceProvider) Consume ¶
func (provider *LimitServiceProvider) Consume() error
func (*LimitServiceProvider) ConsumeWithContext ¶
func (provider *LimitServiceProvider) ConsumeWithContext(ctx context.Context) error
func (*LimitServiceProvider) GetOption ¶
func (provider *LimitServiceProvider) GetOption() LimitOption
func (*LimitServiceProvider) SetOption ¶
func (provider *LimitServiceProvider) SetOption(option LimitOption)
Click to show internal directories.
Click to hide internal directories.