Log for
OwO
想想看,你今天有一個部落格,裡面有帳號系統/文章系統/留言系統,如果你今天想要加一個購物車系統怎麼辦?
假設是微服務,只要給帳號系統加些紀錄,然後把購物車掛上去,達拉就好了
但要是你把他寫成一坨,你就要整堆一起改了
如果你會改道一個看似根本無關的系統,那你一開始就做錯了
簡單來說,你不會因為改了一個db欄位就整個帳號系統炸到留言系統爆炸,因為api是跟db分離的
如果留言系統需要帳號系統的支持 而你剛好改到帳號系統的欄位名稱
基本上要解決這個問題就是靠微服務⋯⋯但是是「無相依性」的為服務架構。
例如說 「留言服務 v1.0」 仰賴 「帳號服務 v1.1」
這個時候如果動了「帳號服務」,帳號服務的版本就會改成 v1.2。
這個時候不會影響到其他服務,因為「留言服務」是仰賴版本 v1.1 的帳號服務。
你沒看到google那堆 /api/v2/ 之類的連結?
但是如果你不把他分離出來,你就只有一個,要麼全部改,要麼都不動
telegram的protocol一樣是看你的api level決定啟用什麼features的
我最後還是回 API Blueprint 因為寫起來比較方便
老實說寫了一段時間,不管是 APIB, Swagger, RAML 都很爛…。
乾脆直接寫成 POSTMAN Collection
因為你寫了那堆 API 之後,能用的工具其實還是蠻少的
就算是 Swagger 好了,匯入到 Postman 的時候,有很多東西還是要重新寫
@mingtsay 認為 @as2174 的意思是: 喵