1.spring家族
?
2.應用開發模式
2.1單體式應用
?
2.2微服務架構
?
?
?
?微服務架構中每個服務都可以有自己的數據庫
?
?
?
?
?3.微服務架構應當注意的細節
3.1關于"持續集成,持續交付,持續部署"
頻繁部署、快速交付以及開發測試流程自動化都將成為未來軟件工程的重要組成部分
可行方案(如jekeins):
3.2一些概念
4.Restful架構風格
RESTful應用通過一套統一的接口為 Web,iOS和Android提供服務
Resource Representational State Transfer(資源表現層狀態轉移)
通俗來講就是:資源在網絡中以某種表現形式進行狀態轉移
Resource:資源,即數據如users,news等;
Representational:某種表現形式,比如用JSON,XML,JPEG等;
State Transfer:狀態變化。通過HTTP動詞實現。
4.1RESTful架構建議
1)使用”api”作為Web上下文;
http://zy.com/api
http://api.zy.com/
2)增加版本標識;
http://atguigu.com/api/v1.0
也有做法將版本信息放在HTTP頭中
3)標識資源;
http://atguigu.com/api/v1.0/user
http://atguigu.com/api/v1.0/system/user
4)REST中的HTTP Method
POST:新增資源
PUT:修改資源,客戶端提供完整的資源屬性
GET:查詢資源
PATCH:更新資源,客戶端提供僅需更改的屬性
DELETE:刪除資源
HEAD:交換HTTP頭信息
OPTIONS:獲取URI所支持的方法。如針對跨域的預檢
5)REST中的HTTP Status
200,OK,請求成功
400,Bad Request,錯誤的請求,參數匹配錯誤
404,Not Found,客戶端需要的資源未找到
405,Method Not Allowed,請求方式不允許
406,Not?Acceptable,請求需要的內容與響應生成內容類型不符
500,Internal Server Error,服務器內部錯誤,無法完成請求
?