Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

32.7. Interface

Application Interface

32.7.1. 訪問介面協議

機遇http的實現方式有下面幾種。
http協議傳統post/get 方式
soap 簡單對象訪問協議
xmlrpc 機遇xml的協議
json 近年來興起的一種數據序列化傳輸方法
http無狀態協議,不能保證連接100%有效性。http方式受限制與瀏覽器,對於並發控制,超時時間,通信數據長度都有嚴格的限制。
例如:一般瀏覽器運行超時時間都是30秒或60秒,當你通過http方式訪問介面時,你的程序因運行超過30秒被瀏覽器強行中斷;另外當你提交的數據超過瀏覽器限制長度時也會返回錯誤。
結局上述問題方法是將藉口獨立出一台伺服器,單獨設置超時時間等配製
http 方式有諸多缺陷,當仍被廣泛使用,他的特點是容易開發,開發人員不需要額外學習,如post/get方式
http 方式的優勢是它可以攜帶Cookie/Session
TCP/UDP Socket 方式
TCP 這是唯能保證不間斷時時傳輸手段,開發難度很高,目前web開發人員中能寫出高效的多綫程socket程序的人很少。
其中涉及很多知識,例如:進程,綫程,鎖,列隊,進程間通信,共享內存,以及信號處理等等;沒有10年功力很難寫出安全,穩定,高效,可擴展的程序
UDP 能夠發送大數據包
		

32.7.2. 介面性能問題

必須考慮介面最大會話數
處理請求後到返回數據所花費的時間
介面應該支持負載均衡,通過增加節點數量,快速擴展;同時添加與撤除節點不會影響介面的通信(包括節點硬件故障);同時介面應該具備健康狀態檢查功能。
		

32.7.3. 介面安全問題

來源IP控制,即黑白名單,獲取IP地址需要考慮X Forward for

IP計數器,單位時間內IP訪問次數達到閥值,就提示稍後連接

用戶名密碼認證與訪問權限

動態驗證碼

證書加密

md5/sha1 數字摘要 校驗

SSL / TSL 證書加密

32.7.3.1. 訪問權限

介面訪問權限應該具備功能

顆粒度精確到每個操作方法