中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

马鞍山市| 荥经县| 锦屏县| 射阳县| 安泽县| 蒲城县| 淳化县| 濮阳县| 霸州市| 西平县| 通州区| 汕尾市| 岱山县| 武鸣县| 延庆县| 扬州市| 永州市| 红原县| 旬阳县| 东乡族自治县| 宁南县| 张掖市| 宁蒗| 富川| 铜川市| 高陵县| 廉江市| 林州市| 安陆市| 焦作市| 高密市| 东莞市| 方正县| 屏山县| 乌拉特中旗| 陈巴尔虎旗| 从江县| 延寿县| 平江县| 河东区| 赣榆县|