本文說明了微服務架構的部署模式之一:每一個主機一個服務實例。html
場景
已經經過微服務架構的分解模式(參考按業務領域分解模式劃分微服務),將整個應用程序劃分爲多個獨立的微服務。架構
目標
- 每一個服務由多個服務實例組成,用於提升吞吐量和可用性。
- 服務必須可獨立部署和擴展。
- 服務實例須要彼此隔離。
- 須要可以快速構建和部署服務。
- 須要可以約束服務所消耗的資源(CPU和內存)。
- 須要監視每一個服務實例的性能和行爲。
- 部署必須是可靠的。
- 部署必須是經濟高效的。
方法
在同一個主機(一般是虛擬機)上運行一個服務的一個實例。微服務
優勢
- 經過增長實例數量能夠直接擴展服務。
- VM封裝了構建服務的技術細節,全部服務都以徹底相同的方式啓動和中止。
- 每一個服務實例都是隔離的。
- VM能夠針對服務實例消耗的CPU和內存作精確的限制。
- 虛擬機管理工具能提供成熟且功能豐富的基礎架構。
缺點
相關模式