chore: refactor zrpc setup (#3064)

This commit is contained in:
Kevin Wan
2023-03-25 20:40:21 +08:00
committed by GitHub
parent 992a56e90b
commit 04434646eb

View File

@@ -109,18 +109,7 @@ func SetServerSlowThreshold(threshold time.Duration) {
serverinterceptors.SetSlowThreshold(threshold) serverinterceptors.SetSlowThreshold(threshold)
} }
func setupInterceptors(server internal.Server, c RpcServerConf, metrics *stat.Metrics) error { func setupAuthInterceptors(svr internal.Server, c RpcServerConf) error {
if c.CpuThreshold > 0 {
shedder := load.NewAdaptiveShedder(load.WithCpuThreshold(c.CpuThreshold))
server.AddUnaryInterceptors(serverinterceptors.UnarySheddingInterceptor(shedder, metrics))
}
if c.Timeout > 0 {
server.AddUnaryInterceptors(serverinterceptors.UnaryTimeoutInterceptor(
time.Duration(c.Timeout) * time.Millisecond))
}
if c.Auth {
rds, err := redis.NewRedis(c.Redis.RedisConf) rds, err := redis.NewRedis(c.Redis.RedisConf)
if err != nil { if err != nil {
return err return err
@@ -131,8 +120,27 @@ func setupInterceptors(server internal.Server, c RpcServerConf, metrics *stat.Me
return err return err
} }
server.AddStreamInterceptors(serverinterceptors.StreamAuthorizeInterceptor(authenticator)) svr.AddStreamInterceptors(serverinterceptors.StreamAuthorizeInterceptor(authenticator))
server.AddUnaryInterceptors(serverinterceptors.UnaryAuthorizeInterceptor(authenticator)) svr.AddUnaryInterceptors(serverinterceptors.UnaryAuthorizeInterceptor(authenticator))
return nil
}
func setupInterceptors(svr internal.Server, c RpcServerConf, metrics *stat.Metrics) error {
if c.CpuThreshold > 0 {
shedder := load.NewAdaptiveShedder(load.WithCpuThreshold(c.CpuThreshold))
svr.AddUnaryInterceptors(serverinterceptors.UnarySheddingInterceptor(shedder, metrics))
}
if c.Timeout > 0 {
svr.AddUnaryInterceptors(serverinterceptors.UnaryTimeoutInterceptor(
time.Duration(c.Timeout) * time.Millisecond))
}
if c.Auth {
if err := setupAuthInterceptors(svr, c); err != nil {
return err
}
} }
return nil return nil