【無中生有】---10---API接口日誌存儲設計與實現設計

使用ESB架構有一個細節點,就是關於API日誌的設計編程

雖然能夠經過消息通知模式來統一接口間的相互調用,可是最終還須要各個服務API來真正承接服務。安全

而對API進行監控既有利於對系統總體行爲進行記錄,也能對系統的性能進行分析排查系統的性能瓶頸點。多線程

存儲仍然使用Cassandra集羣架構

請求記錄ESBAPILog

序號 字段名 類型 備註
1 id string 請求id
2 ServiceName string 服務名
3 FunctionName string 方法名
4 createtime datetime 添加日期
5 clientId string 服務調用端id
6 Variables string 參數數據記錄
7 ClientSafeKey string 安全密匙

請求結果記錄ESBAPIResultLog

序號 字段名 類型 備註
1 id string 請求id
2 Endtime datetime 添加日期
3 ActionResult bool 調用結果
4 message string 相關消息

編碼實現思路:

  1. 因爲不是主業務邏輯,因此日誌數據存儲最佳模式是切面化編程,同時還須要是多線程異步化的數據寫入,不能阻塞主業務流程。同時在發生異常時要進行全面捕捉,不能使異常影響服務的正常運行。
  2. 在API方法首先執行ESBAPILog數據的插入,生成請求id做爲ESBAPILog表和ESBAPIResultLog錶鏈接點。因爲Cassandra的特性,因此設計爲兩張表分別寫入而非一張表下更新。


版權聲明:本文爲博主原創文章,未經博主容許不得轉載。異步

相關文章
相關標籤/搜索