ratelimiter

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: May 22, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package ratelimiter provides rate limiting capability for gorp framework. Based on golang.org/x/time/rate (official Go extension).

限流器 provider,基于 golang.org/x/time/rate(Go 官方扩展库)。

Index

Constants

This section is empty.

Variables

View Source
var ErrRateLimited = resiliencecontract.ServiceUnavailable("rate limit exceeded")

ErrRateLimited 表示请求被限流。

Functions

func NewTokenBucketRateLimiter

func NewTokenBucketRateLimiter(cfg resiliencecontract.RateLimiterConfig) *tokenBucketRateLimiter

NewTokenBucketRateLimiter 导出的构造函数,供测试和外部使用。

Types

type Provider

type Provider struct{}

Provider 是基于 golang.org/x/time/rate 的限流器 provider。 将 RateLimiter 契约实现注册到容器中,供 HTTP 中间件和 RPC 客户端使用。

func NewProvider

func NewProvider() *Provider

NewProvider 创建限流器 provider。

func (*Provider) Boot

Boot 启动期初始化(无额外操作)。

func (*Provider) DependsOn

func (p *Provider) DependsOn() []string

DependsOn 返回该 provider 依赖的 key。

func (*Provider) IsDefer

func (p *Provider) IsDefer() bool

IsDefer 标记此 provider 延迟装载。

func (*Provider) Name

func (p *Provider) Name() string

Name 返回 provider 唯一名称。

func (*Provider) Provides

func (p *Provider) Provides() []string

Provides 返回该 provider 提供的容器 key 列表。

func (*Provider) Register

func (p *Provider) Register(c runtimecontract.Container) error

Register 将 RateLimiter 实例注册到容器。

Jump to

Keyboard shortcuts

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