接口統一管理設想

現存的問題
統一管理實現方案
例子展現

##現存的問題##

趨勢要求
    >公司逐漸在往SOA架構上靠近,各個系統相互協做,接口服務層出不窮,隨之產生的就是,接口安全、協議、文檔、維護、升級、監控等問題。

接口書寫不規範,見縫插針
    >如今每一個項目裏面,都有本身對外提供的接口,接口寫的位置各不同,並且註釋、文檔都不具有,因此除了接口人自己,沒有人知道接口在哪裏及實現的原理,調用及返回的協議,參數的規範等, 因此就造成了一個單點。

接口文檔形同虛設
    >接口文檔管理, 這個事情是全部程序員比較頭疼的,不想寫文檔是人性,因此文檔老是跟不上接口的變化,文檔就成了擺設。

接口監控
    >FAT、UAT、BETA、PRO 咱們如今的四個環境,可是每一個環境,都沒有接口可用率的監控,出問題後,無法定位是哪一個接口的問題,只能在程序裏debug,長此以往,對於不重要的環境就置之不理了,這也是大部分公司FAT、UAT環境很差用的緣由。

##統一管理實現方案##

定義統一接口規範,及安全策略
    1. HTTP 協議
    2. HTTP header 緩存策略(對於無線很實用)
    3. HTTP header 定義接口版本。
    4. HTTP heaer 緩存策略。
    5. 請求、響應的編碼規範。
    6. 響應的格式統一。
    7. 針對不一樣接口定義安全策略。(白名單、業務策略、統一簽名)

接口書寫規範
    1. 啓一個API_CENTER項目,全部業務及可驗證接口統一寫在該項目中,對於已有的老的接口,能夠採用轉發請求的方式接入該項目,從而實現統一位置可見、統一位置可驗證。
    2. 接入方須要接入什麼接口服務,不須要聯繫接口人,只須要到該項目中查找對應接口便可,而接口人也不須要直接爲接入方服務,只要保證在該項目中,接口在不一樣環境下時可用便可,這樣就大大下降了溝通成本及驗證成本。

接口文檔走配置化
    1. 在API_CENTER項目中的接口、或者是有該項目作轉發的接口,須要在該項目中統一的配置文件中,添加本身的配置,配置內容大體爲:
        1. 接口採用的協議。
        2. 接口請求地址。
        3. 接口所需參數、參數類型、參數編碼、參數是否可選、默承認用實例。
        4. 是否須要HTTP緩存。
        5. 接口返回格式(json、xml、string)儘可能統一json
        6. 接口名稱
        7. 接口描述
    
        這樣作的好處是,省去了繁瑣的接口文檔的編寫,並且只要程序可用,文檔永遠都是最新的。

##例子展現##

1. 這個例子是我在上家公司作的接口管理程序,客戶端的程序員不再來咱們服務端要接口文檔了,並且接口是否健康他們能一目瞭然。

    wKioL1P27NCh8KC2AAKZoTby66Q525.jpg

    wKioL1P27NCTOmqvAAHWrhcDkYE049.jpg
    php

相關文章
相關標籤/搜索