如何寫出高可用的接口?

如何寫出高可用、魯棒性強的接口呢?我們設計接口的時候需要考慮以下幾點:

1. 入參校驗:非空校驗,格式校驗(如手機號格式),業務校驗(如充值金額必須大於0);

2. 短路式寫法,非正常分支判斷前置;

3. 非查詢類接口都要考慮 重複請求、併發請求,保證接口的冪等性;

    可能觸發重複請求或消費的場景:(1)網絡波動(2)分佈式消息消費(3)用戶重複操作(4)重試機制

    服務冪等常見做法:https://blog.csdn.net/weixin_34174322/article/details/91721401

4. 查詢類接口 根據業務 考量是否需要加緩存,以便快速讀取;

5.考慮請求超時的情況;

6.考慮部分成功部分失敗的情況

7. 狀態流轉不可逆,即更新狀態時必須有前置狀態;

8. 避免for循環調用下層服務;

9. 防止空指針異常;

10. 需要人工干預的關鍵業務節點進行業務報警;

11. 敏感信息展示脫敏、存儲加密;

12. 規範代碼,單個方法不超過60行,方法註釋準確清晰;

13. 充分自測,寫集成測試、mock測試,提高提測質量。

 

歡迎補充...

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章