微型服務是一種架構式和組織式的軟體開發方法,其中軟體由小型獨立服務組成,並透過定義良好的 API 進行通訊。這些服務由小型的獨立團隊所擁有。

微型服務架構可讓應用程式更輕鬆擴展並加快開發速度,不僅促進創新,更縮短新功能的上市時間。

在巨型架構中,所有程序皆緊密結合,並會以單一服務執行。這表示如果某個應用程式的其中一個程序需求激增,就必須擴展整個架構。隨著程式碼基底增加,要新增或改善巨型應用程式的功能也變得更加複雜。這種複雜性局限了實驗的可能,更難落實新點子。由於許多獨立且緊密結合的程序會提高對單一程序故障的影響,因此巨型架構會增加應用程式可用性的風險。

在微型服務架構中,應用程式會建立為獨立元件,並會以服務的形式執行個別應用程式程序。這些服務使用輕量型 API,透過定義良好的界面進行通訊。服務係針對商業功能所建立,且每項服務皆可執行單一功能。因為每項服務皆獨立運作,因此可以個別更新、部署和擴展,以滿足應用程式特定功能的需求。

巨型架構與微型服務的比較

將巨型應用程式分解成微型服務

微型服務架構中的每項元件服務都可以自由開發、部署、運作和擴展,並不會影響其他服務的功能。這些服務不需要與其他服務分享任何程式碼或實作。獨立元件之間會經由定義良好的 API 進行所有通訊。

每項服務專為一組功能設計,並著重於解決特定問題。如果開發人員不斷提供更多程式碼,導致服務變得更加複雜,可以將服務分解成較小型的服務。

微型服務促進組織組成小型獨立團隊,並具備其處理之服務的擁有權。團隊可在小型簡易的環境中行動,並能夠更獨立且快速地工作。這有助於縮短開發週期時間。彙總的組織輸送量能為您帶來莫大好處。

微型服務可讓每項服務獨立擴展,以滿足其支援的應用程式功能的需求。這可讓團隊依架構需求調整合適的大小、準確地衡量功能的成本,以及在服務出現需求激增時維持可用性。

微型服務可持續整合和持續交付,方便您嘗試新點子,並在發生問題時進行復原。失敗的成本較低,可讓您進行實驗,以便更新程式碼,並縮短新功能的上市時間。

微型服務架構不適用於「一體適用」的方法。團隊可自行選擇可解決其特定問題的最佳工具。因此,建立微型服務的團隊可為每項工作選擇最佳工具。

將軟體劃分為定義良好的小型單元,可讓團隊將功能用於多種用途。專為特定功能撰寫的服務可充當其他功能的建構模塊。這可讓應用程式自行引導操作,以便開發人員建立新功能,而無需從頭開始撰寫程式碼。

服務的獨立性可提升應用程式的受挫能力。在巨型架構中,如果單一元件故障,可能會造成整個應用程式故障。在微型服務中,應用程式可將功能降級,以處理整個服務故障問題,避免造成整個應用程式當機。


AWS 已整合支援任何應用程式架構的建構模塊,不受規模、負載或複雜度限制。

微型服務的處理功能。

Amazon EMR

Amazon Elastic Container Service

這是可高度擴展的高效能容器管理服務,可支援 Docker 容器,並讓您在 Amazon EC2 執行個體受管的叢集上輕鬆執行應用程式。
進一步了解 »

現在使用 Amazon ECS,Coursera 只需要幾分鐘的時間即可在資源隔離的環境中部署軟體變更,無須再耗費好幾個小時。
進一步了解 »

Amazon EMR

AWS Lambda

使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。只需上傳程式碼,Lambda 就會運用其高可用性來管理執行及擴展程式碼所需的各項工作。
進一步了解 »

Localytics 使用 AWS Lambda 建立微型服務,以便開發團隊無需中心支援即可建立自訂分析。 進一步了解 »


可擴展、耐用和安全的資料儲存體。    

Amazon ElastiCache

Amazon ElastiCache 可讓您從快速、受管的記憶體內快取擷取資訊,而不是完全倚賴速度較慢的磁碟型資料庫,因此可提高服務效能。進一步了解 »

Amazon S3

Amazon S3 為開發人員和 IT 團隊提供高度可靠、安全且可擴展的物件儲存來存放所有資料,不受資料的大小所限。 進一步了解 »

Amazon DynamoDB

全代管且快速靈活的 NoSQL 資料庫服務適用於所有需要一致性且延遲低於 10 毫秒的各種規模應用程式。 進一步了解 »

Amazon RDS

輕鬆設定、操作和擴展雲端中的關聯式資料庫。提供六種熟悉的資料庫引擎,包括 Oracle、Microsoft SQL Server、PostgreSQL、MySQL 和 MariaDB。 進一步了解 »

Amazon Aurora

關聯式資料庫引擎結合了高階商業資料庫的速度和可靠性,以及開放原始碼資料庫簡單和經濟實惠的優點。相較於在相同硬體上執行的標準 MySQL,可提供五倍的輸送量。 進一步了解 »

Remind 會為 Amazon ECS 的微型服務建立 PaaS,藉此降低 200% 的應用程式回應時間。 
進一步了解 »


高輸送量且延遲低於一毫秒的聯網服務。

AWS Cloud Map

AWS Cloud Map 可對您所有雲端資源進行服務探索。透過 Cloud Map,您可以為應用程式資源定義自訂名稱,而且 Cloud Map 還能維護這些動態變更資源的更新位置資訊。

進一步了解 »

AWS App Mesh

AWS App Mesh 可讓使用者輕鬆監控和控制在 AWS 上執行的微型服務。App Mesh 可標準化微型服務通訊的方式,為您提供端對端可見性,並協助確保應用程式的高可用性。

進一步了解 »

Application Load Balancer

Application Load Balancer 可處理應用層 (第 7 層) 的 HTTP 與 HTTPS 流量負載平衡,而且透過提供現代化應用程式架構 (包括微型服務與容器) 以提供進階請求路由功能。

進一步了解 »

網路負載平衡器

網路負載平衡器可提供透過網路連線層 (第 4 層) 運作的高效能負載平衡,並讓您根據 IP 協定資料路由連線至微型服務。網路負載平衡器可每秒處理數百萬個請求,同時維持超低延遲。

進一步了解 »

Amazon API Gateway

Amazon API Gateway 為 API 管理提供全面的平台。Amazon API Gateway 可讓您處理數十萬個並行 API 呼叫,以及處理流量管理、授權和存取控制、監控以及 API 版本管理等作業。

進一步了解 »

Amazon Route 53

Amazon Route 53 是高度可用且可擴展的雲端網域名稱系統 (DNS) 網路服務,可有效將請求連接到在 AWS 執行的基礎設施。其可用於 IP 運作狀態檢查和微型服務的服務探索。

進一步了解 »

Airtime 會在 AWS 執行微型服務時重新設計應用程式,為客戶提供更快、更可靠的即時社交體驗。 進一步了解 »


發佈和協調處理程序間的通訊。

Amazon Simple Notification Service (Amazon SNS)

Amazon SNS 是全受管的發佈/訂閱簡訊服務,可輕鬆地分離和擴展微型服務、分散式系統及無伺服器應用程式。
進一步了解 »

Amazon Simple Queue Service (Amazon SQS)

Amazon SQS 是全受管的訊息佇列服務,可輕鬆地分離和擴展微型服務、分散式系統及無伺服器應用程式。
進一步了解 »

Lyft 會使用 AWS 讓公司運作更快速,並管理其指數性成長,運用 AWS 產品支援超過 100 個微型服務,藉此提升其客戶體驗中的每個元素。 進一步了解 »


監控服務效能和資源使用率。追蹤複雜架構以進行疑難排解和優化。

AWS CloudTrail

使用 CloudTrail 可以記錄、持續監控和保留基礎設施中所有與動作相關的帳戶活動。CloudTrail 事件歷史記錄簡化了安全分析、資源變更追蹤和疑難排解的程序。進一步了解 »

Amazon CloudWatch

使用 Amazon CloudWatch 收集和追蹤指標、收集和監控日誌檔、設定警示,以及自動對您執行的服務和 AWS 資源的變更做出反應。
進一步了解 »

AWS X-Ray

在請求通過應用程式時獲得端對端的請求檢視,並可查看應用程式基礎元件的對應。由於一組微型服務會共同合作處理處理請求,AWS X-Ray 可提供集中式的日誌檢視,讓您監控複雜的互動並進行疑難排解。進一步了解 »

Shippable 使用在 Amazon ECS 上託管的微型服務,得以專注在為客戶提供功能,並將功能部署時間從每週一次縮短到一日數次。 進一步了解 »


管理程式碼從遞交到執行的生命週期。

Amazon Elastic Container Registry (Amazon ECR)

全受管的 Docker 容器登錄檔,可讓您存放、管理以及部署 Docker 容器映像。Amazon ECR 已與 Amazon Elastic Container Service (Amazon ECS) 整合,簡化從開發到生產的工作流程。 進一步了解 »

AWS 開發人員工具

AWS 開發人員工具是一組服務,專門用來幫助開發人員與 IT 營運專業人員實踐 DevOps,進而迅速且安全地交付軟體。這些服務組合可共同協助您安全地儲存您的應用程式原始程式碼並做版本控制,然後自動建置、測試和部署您的應用程式到 AWS 或現場部署環境。進一步了解 »

Gilt 從現場部署資料中心轉移到 AWS,以充分運用雲端型微型服務基礎設施的速度和效率。
進一步了解 »