亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP成長記(二) —— SOA&RESTful軟件架構

發布時間:2020-10-24 22:57:09 來源:網絡 閱讀:5329 作者:村長愛技術 欄目:軟件技術

     你有沒有遇到過,同一個數據庫的數據,每次做一個產品都要重新實現一遍同樣的功能,每一個產品都要單獨寫一相同的功能模塊(比如登錄,獲取產品列表等),很多以前寫的功能模塊到現在都不能復用了,工作幾年下來,公司里沒有沉淀出可以復用的東西……

     如果你遇到過相似的情況,也許你應該關注一下SOA(Service-Oriented Architecture)—— 面向服務的體系結構,這不是一中具體的技術,只是一個設計思想,他的主要思想就是把服務從項目中分離出來,做成接口的形式供其他項目調用,這樣的好處很明顯,第一、只要約定好接口形式,任何語言都可以相互調用;第二、最大化的復用功能模塊;第三、可以橫向和縱向擴展,等等。這時大家可能想起來Web Service來了,它主要機遇基于SOAP通過HTTP協議進行調用,這種形式有很多弊病,比如開發麻煩,要生成一個非常大的WSDL文件,生成的數據格式很復雜,有沒有一種既簡單又安全的方式呢,當然有了,那就是RESTful(Representational State Transfer)描述了一個架構樣式的網絡系統,很多公司的API都是通過該形式開發,比如微博API,QQ開放平臺,淘寶開發平臺等等,那它有什么好處呢,首先它基于HTTP協議,通過即 POST、GET、HEAD、PUT 、DELETE、OPTIONS、TRACE等請求方式處理資源,然后返回通用數據格式,例如XML/JSON等,這樣不管是B/S,C/S架構都能很好的支持。下面講解一下RESTful架構設計。

      首先架構圖如下:

PHP成長記(二) ——  SOA&RESTful軟件架構

需要為每個程序分配一個appKey和一個appSecret, 然后通過URL訪問服務,最后服務返回數據(JSON / XML格式)。


   可能遇到的問題:

1、安全性

   當請求端發送請求的時候,服務端要驗證合法性,那該如何驗證呢,大多數方案都是遵循OAuth(現在普遍都升級的到了OAuth3.0)。下面是我設計一種簡單方式,在小應用上可以采用。

PHP成長記(二) ——  SOA&RESTful軟件架構

       2、請求控制

              接口不能無限制的調用,不然服務會被跑慢,所以需要限制請求,方法很多,可以采用Nginx的limit模塊,限制用戶的調用頻率和最大連接數等。


       3、服務擴展

              首先對于以后服務的升級,需要對接口進行非常好的設計,避免后續改變URL,這里建議多應用設計模式來進行程序設計,而隨著服務的訪問量不斷增加,需要對服務進行框架升級,這個可以參考我的《項目成長記》專題文章。


           SOA架構目前已經很成熟,大家可以多進行研究討論。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

托克托县| 鄂尔多斯市| 泗水县| 喜德县| 武宣县| 威信县| 得荣县| 新平| 通许县| 怀宁县| 延庆县| 巩义市| 元氏县| 封丘县| 周至县| 手机| 呼玛县| 阳谷县| 丹棱县| 麟游县| 扎兰屯市| 新绛县| 娄烦县| 和林格尔县| 安陆市| 玉山县| 肇源县| 东辽县| 岚皋县| 陕西省| 常山县| 平顺县| 平乐县| 泗洪县| 铜川市| 依兰县| 思茅市| 沁源县| 来宾市| 精河县| 全椒县|