Open ming2882 opened 6 years ago
而且熔断的也不正确,就执行一次错误就熔断了;只能把"BreakeSleepWindowInMilliseconds": 0,不然没办法使用了
是不是FailoverCluster=3,所有 while (message == null && ++time < command.FailoverCluster);就再执行了三次
默认的容错策略是Failover,这个策略会针对于服务进行重试,重试的次数是根据FailoverCluster进行设置
建议使用Injection 或者 FallBack 容错策略
将AuthorizationAttribute中的 public AuthorizationType AuthType { get; set; }属性转到父类AuthorizationFilterAttribute上面,再修改DefaultServiceExecutor类中,if (entry.Descriptor.EnableAuthorization() && entry.Descriptor.AuthType() ==AuthorizationType.AppSecret.ToString()) 此判断改为if (entry.Descriptor.EnableAuthorization()) 以上修改是为了满足可以起到权限的过滤和扩展作用,因为现在的权限只能AppSecret有效,JWT只能是路由中有效,而且 enum AuthorizationType不支持扩展,建议可以,如Rsa
授权请用网关
public class RsaAuthorizationAttribute : AuthorizationFilterAttribute { public override bool OnAuthorization(ServiceRouteContext context) { var parameters = context.InvokeMessage.Parameters; var ok = RSAFromPkcs.verify(parameters); if (!ok) throw new ServerErrorException("签名不正确"); return ok; } }