如何处理 Golang Hystrix 断路器中的 4xx 错误

问题描述 投票:0回答:0

在编写断路器时,我正在对上游服务进行 api 调用,这将给出 5xx 或 4xx 错误。我只想考虑打开电路的 5xx 错误,而 4xx 应该正常处理。

        resp, err := clients.DoHTTPCall(url, "POST", payload, ConnectionTimeOut, []string{config.Config.ContactConfig.AuthTokenHeaderNameInLoadRequest}, []string{authToken})
        logging.Info("test", "%v", *resp)
        if err != nil {
            common.TrackStats(common.CurrencyToCountryMap[currencyCode], userType, LOAD_CONTACT_DATA_API, common.API_ERROR)
            //logging.Error(logtag, "Error on loadContactLoadData request=%v err=%v contactLoadApiMsgId=%v", request, err, contactLoadApiMsgId)
            return responses.NewError(responses.InternalServerError, err.Error())
        }
        return nil
    }, circuitbreaker.WithFallback(contactLoadFallback()))```
go hystrix circuit-breaker
© www.soinside.com 2019 - 2024. All rights reserved.