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