Atitit 微服務的優點和拆分

目錄

  1. 微服務架構五大優勢 崛起勢頭不可擋4
    1. 1、複雜度可控6避免“盲人摸象”7
    2. 2、靈活可擴充套件7
    3. 3、獨立部署7
    4. 4、開發針對性更強7
    5. 5、降低TCO8

微服務特點的描述。

大概從以下四個方面來說:

  • 根據業務模組劃分服務種類。
  • 每個服務可以獨立部署並且互相隔離。
  • 通過輕量的 API 呼叫服務。
  • 服務需要保證良好的高可用性。

單體式應用另外一個問題是可靠性。因為所有模組都執行在一個程序中,任何一個模組中的一個bug,比如記憶體洩露,將會有可能弄垮整個程序。除此之外,因為所有應用例項都是唯一的,這個bug將會影響到整個應用的可靠性

使得每個服務都可以有專門開發團隊來開發。開發者可以自由選擇開發技術,提供API服務。當然,許多公司試圖避免混亂,只提供某些技術選擇。然後,這種自由意味著開發者不需要被迫使用某專案開始時採用的過時技術,他們可以選擇現在的技術。甚至於,因為服務都是相對簡單,即使用現在技術重寫以前程式碼也不是很困難的事情。

    1. 效能負擔

。我要實現一個功能,可能並不需要很深入的瞭解別人的程式碼

    1. 提升啟動速速

體式應用也會降低開發速度。應用越大,啟動時間會越長。比如,最近的一個調查表明,有時候應用的啟動時間居然超過了12分鐘。我還聽說某些應用需要40分鐘啟動時間。如果開發者需要經常重啟應用,那麼大部分時間就要在等待中渡過,生產效率受到極大影

    1. 提升擴充套件性

模組發生資源衝突時,擴充套件將會非常困難。比如,一個模組完成一個CPU敏感邏輯,應該部署在AWS EC2 Compute Optimized instances,而另外一個記憶體資料庫模組更合適於EC2 Memory-optimized instances。然而,由於這些模組部署在一起,因此不得不在硬體選擇上做一個妥協。

    1. 利於持續性開發

另外,複雜而巨大的單體式應用也不利於持續性開發。今天,SaaS應用常態就是每天會改變很多次,而這對於單體式應用模式非常困難。另外,這種變化帶來的影響並沒有很好的被理解,所以不得不做很多手工測試。那麼接下來,持續部署也會很艱難。

1. 每個服務小,程式碼易於理解,啟動更快,部署更快,開發更高效。 2. 每個服務獨立部署,可以獨立變更,無需協同,持續部署變得可行。 3. 每個服務可以獨立進行X軸克隆和Z軸分割槽。獨自選擇適合自己資源需求的硬體。例如,CPU密集需求的和記憶體密集的元件,在整體架構中,必須部署在一起,但是微服務可以滿足各自的優先需求來部署。 4. 可以團隊分組,每個組開發獨立開發部署一些小服務。 5. 故障隔離性。出問題的元件和服務,可能不會影響到全域性。 6. 技術更新更容易,對每個服務可以獨立選擇語言和框架。 7. 如果新技術嘗試失敗,可以很快拋棄這個成果,不會對整個專案帶來風險。

微服務  優點

    1. 按照不同的效率語言拆分不同的功能

微服務筆記.html