initial #1

Open
opened 2025-05-04 20:57:52 +03:00 by vtolstov · 1 comment
Owner
client:
func (c *Hook) Call(ctx context.Context, req client.Request, rsp interface{}, opts ...client.CallOption) error {
	c.r.Take()
	return c.Client.Call(ctx, req, rsp, opts...)
}

server:
	return func(h server.HandlerFunc) server.HandlerFunc {
		return func(ctx context.Context, req server.Request, rsp interface{}) error {
			r.Take()
			return h(ctx, req, rsp)
		}
	}
}
``` client: func (c *Hook) Call(ctx context.Context, req client.Request, rsp interface{}, opts ...client.CallOption) error { c.r.Take() return c.Client.Call(ctx, req, rsp, opts...) } server: return func(h server.HandlerFunc) server.HandlerFunc { return func(ctx context.Context, req server.Request, rsp interface{}) error { r.Take() return h(ctx, req, rsp) } } } ```
Author
Owner

https://pkg.go.dev/github.com/vearne/ratelimit#section-readme

можно скопировать идеологию, заменив чистый редис micro/store интерфейсом.
вместо луа скрипта на стороне редис, мне больше нравится вариант https://github.com/matteo-pampana/go-redis-rate-limiter/tree/main/ratelimiter

https://pkg.go.dev/github.com/vearne/ratelimit#section-readme можно скопировать идеологию, заменив чистый редис micro/store интерфейсом. вместо луа скрипта на стороне редис, мне больше нравится вариант https://github.com/matteo-pampana/go-redis-rate-limiter/tree/main/ratelimiter
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unistack-org/micro-hook-ratelimit#1
No description provided.