using Sers.Core.Module.Message; using Sers.Core.Module.Rpc; using Sers.ServiceCenter.Entity; using Vit.Core.Util.ComponentModel.SsError; namespace Sers.Gover.RateLimit { public interface IRateLimit { string rateLimitKey { get; } string rateLimitType { get; } /// /// 若返回不为null,则对应服务被限流(服务直接返回对应错误) /// /// /// /// SsError BeforeLoadBalancing(RpcContextData rpcData, ApiMessage requestMessage); /// /// 若返回不为null,则对应服务被限流(服务直接返回对应错误) /// /// /// /// /// SsError BeforeCallRemoteApi(RpcContextData rpcData, ApiMessage requestMessage, ApiNode apiNode); } }