異常錯誤碼微服務模式下的治理

查看 25|回复 0
作者:L0L   
歡迎大家各抒己見
背景:微服務,單元化架構中,開發語言是 Java
場景:
1 、服務之間存在多種調用,服務 A->服務 B->服務 C ;
2 、每一個服務都有對應的錯誤碼編號;服務 A:000 ~ 099 ,服務 B:100 ~ 199 ,服務 C:200 ~ 299 ;
3 、x99 爲各個服務的未知異常。
問題:服務 C 如果發生了 RuntimeException 時,但是服務 C 的開發同學沒有考慮到異常情況,服務 C 直接拋出了該異常,這時系統該如何優雅的通知調用方最爲合適呢?
方案:
1 、服務 C 利用框架的擴展能力,將錯誤碼修改爲服務 C 的錯誤碼 399 ,拋出給調用系統;
2 、服務 A 在返回給調用方前,判讀異常是否爲可識別的異常(包含錯誤碼的異常);否則進行包裝,返回錯誤碼 099 。
思考:
  • 方案 1 優點:中的這種情況,將服務側的異常,統一轉化爲服務內部的錯誤信息,實現了服務內的錯誤碼自治;
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部