Help us shape the future of Go! Take the 2026 Go Developer Survey

ratelimiter

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 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