微型服務是一種架構式和組織式的軟體開發方法,其中軟體由小型獨立服務組成,並透過定義良好的 API 進行通訊。這些服務由小型的獨立團隊所擁有。
微型服務架構可讓應用程式更輕鬆擴展並加快開發速度,不僅促進創新,更縮短新功能的上市時間。
在巨型架構中,所有程序皆緊密結合,並會以單一服務執行。這表示如果某個應用程式的其中一個程序需求激增,就必須擴展整個架構。隨著程式碼基底增加,要新增或改善巨型應用程式的功能也變得更加複雜。這種複雜性局限了實驗的可能,更難落實新點子。由於許多獨立且緊密結合的程序會提高對單一程序故障的影響,因此巨型架構會增加應用程式可用性的風險。
在微型服務架構中,應用程式會建立為獨立元件,並會以服務的形式執行個別應用程式程序。這些服務使用輕量型 API,透過定義良好的界面進行通訊。服務係針對商業功能所建立,且每項服務皆可執行單一功能。因為每項服務皆獨立運作,因此可以個別更新、部署和擴展,以滿足應用程式特定功能的需求。
將巨型應用程式分解成微型服務
微型服務架構中的每項元件服務都可以自由開發、部署、運作和擴展,並不會影響其他服務的功能。這些服務不需要與其他服務分享任何程式碼或實作。獨立元件之間會經由定義良好的 API 進行所有通訊。
每項服務專為一組功能設計,並著重於解決特定問題。如果開發人員不斷提供更多程式碼,導致服務變得更加複雜,可以將服務分解成較小型的服務。
微型服務促進組織組成小型獨立團隊,並具備其處理之服務的擁有權。團隊可在小型簡易的環境中行動,並能夠更獨立且快速地工作。這有助於縮短開發週期時間。彙總的組織輸送量能為您帶來莫大好處。
微型服務可讓每項服務獨立擴展,以滿足其支援的應用程式功能的需求。這可讓團隊依架構需求調整合適的大小、準確地衡量功能的成本,以及在服務出現需求激增時維持可用性。
微型服務可持續整合和持續交付,方便您嘗試新點子,並在發生問題時進行復原。失敗的成本較低,可讓您進行實驗,以便更新程式碼,並縮短新功能的上市時間。
微型服務架構不適用於「一體適用」的方法。團隊可自行選擇可解決其特定問題的最佳工具。因此,建立微型服務的團隊可為每項工作選擇最佳工具。
將軟體劃分為定義良好的小型單元,可讓團隊將功能用於多種用途。專為特定功能撰寫的服務可充當其他功能的建構模塊。這可讓應用程式自行引導操作,以便開發人員建立新功能,而無需從頭開始撰寫程式碼。
服務的獨立性可提升應用程式的受挫能力。在巨型架構中,如果單一元件故障,可能會造成整個應用程式故障。在微型服務中,應用程式可將功能降級,以處理整個服務故障問題,避免造成整個應用程式當機。
AWS 已整合支援任何應用程式架構的建構模塊,不受規模、負載或複雜度限制。
微型服務的處理功能。
監控服務效能和資源使用率。追蹤複雜架構以進行疑難排解和優化。
Shippable 使用在 Amazon ECS 上託管的微型服務,得以專注在為客戶提供功能,並將功能部署時間從每週一次縮短到一日數次。 進一步了解 »
使用這些資源立即開始建立微型服務。