為什麼使用微服務

2021-10-10 06:12:06 字數 986 閱讀 1084

1.單機服務

此時我們就多加了幾台web伺服器,從單機變成了乙個集群,甚至我們可以寫乙個指令碼,當web伺服器壓力過大時動態增加web伺服器。這下web伺服器的壓力不大了,我們就這樣安穩的過上了幾個月。然而有一天伺服器又出問題了:先是mysql伺服器cpu標高,然後是web伺服器宕機。此時我們會發現雖然可以通過集群來解決訪問併發問題。但服務qps高->sqlqps高->mysql的cpu標高->sql執行效率變低->請求響應時間變長->web伺服器吞吐量變低->服務宕機.通過上訴我們會發現mysql的效能是整個服務的痛點,此時我們會選擇使用主從來提高mysql效能,讀走從庫,寫走主庫:

我們又一次解決了問題很開心,但我們事後一想,有些東西我們可以做快取啊,就像mysql有讀快取一樣,有些不太變的資料做快取後就不用訪問mysql了,這樣sql的qps不就更少了,而且快取也可以剩下sql執行的時間,請求響應的時間也能縮短,快取真是個好東西,我們的架構就變成了這樣:

現在看起來不錯,但隨著業務的發展你會發現:

1.所有業務放在乙個專案裡開發維護成本很高,可能十幾個程式設計師在改乙個專案,乙個專案同時有很多個需求,開發周期也不一樣,這可能帶來很多額外的維護成本。

2.所以業務線在一起,乙個業務宕機,所以業務都宕機,業務隔離性很差。

3.隨著業務的發展,大表越來越多,即使乙個簡單的sql執行時間也很長,接下來可能要面臨的是分庫分表,甚至是多主多從。乙個專案維護成本過高

3.微服務

為什麼要微服務(服務化)?

微服務架構 的話題非常之火,很多朋友都在小窗我,說怎麼做服務化?解答 怎麼做 之前,先得了解 為什麼做 畫外音 做技術千萬不能是這種思路,別人都在做,所以我們也要搞 並不是所有的業務都適合 服務化 網際網路高可用架構,到底為什麼要服務化?服務化之前,高可用架構是什麼樣的?在服務化之前,網際網路的典型...

為什麼要微服務架構服務化?

微服務架構,這 5 年左右一直被認可,是軟體架構的未來方向。需要大家理解的是,為什麼需要服務化。比如微服務架構對企業來說,帶來什麼價值?有啥弊端?這裡 一下微服務架構,主要還是在理解 why 為什麼需要服務化?微服務架構,主要是多了個 微 亞馬遜有個粗粗的定義 乙個微服務應用工程的所有開發 測試 運...

為什麼微服務需要API閘道器

分布式技術原理與實戰45講 邴越 針對這些問題,乙個常用的解決方案是使用 api 服務閘道器。在微服務設計中,需要隔離內外部呼叫,統一進行系統鑑權 業務監控等,api 服務閘道器是乙個非常合適的切入口。通過引入 api 閘道器這一角色,可以高效地實現微服務集群的輸出,節約後端服務開發成本,減少上線風...