add rate limiter

This commit is contained in:
ginuerzh
2022-09-05 22:47:51 +08:00
parent e23da0f319
commit 4c2131ca6d
40 changed files with 1622 additions and 135 deletions

View File

@ -3,13 +3,14 @@ package grpc
import (
"net"
admission "github.com/go-gost/core/admission/wrapper"
"github.com/go-gost/core/listener"
"github.com/go-gost/core/logger"
md "github.com/go-gost/core/metadata"
metrics "github.com/go-gost/core/metrics/wrapper"
admission "github.com/go-gost/x/admission/wrapper"
xnet "github.com/go-gost/x/internal/net"
pb "github.com/go-gost/x/internal/util/grpc/proto"
limiter "github.com/go-gost/x/limiter/wrapper"
metrics "github.com/go-gost/x/metrics/wrapper"
"github.com/go-gost/x/registry"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
@ -55,6 +56,7 @@ func (l *grpcListener) Init(md md.Metadata) (err error) {
}
ln = metrics.WrapListener(l.options.Service, ln)
ln = admission.WrapListener(l.options.Admission, ln)
ln = limiter.WrapListener(l.options.RateLimiter, ln)
var opts []grpc.ServerOption
if !l.md.insecure {