架構模式: 服務部署平台
上下文
您已應用微服務架構模式並將系統架構為一組服務。每個服務都部署為一組服務實例,以實現吞吐量和可用性。
問題
如何打包和部署服務?
要點
- 服務使用各種語言,框架和框架版本
- 編寫每個服務包含多個服務實例
- 用於吞吐量和可用性服務必須是可獨立部署的
- 可擴展的服務實例需要彼此隔離
- 您需要能夠快速構建和部署服務
- 您需要能夠約束服務所消耗的資源(CPU和內存)
- 您需要監視每個服務實例的行為
- 您希望部署可靠
- 您必須盡可能經濟高效地部署應用程序
解決方案
使用部署平台,這是用於應用程序部署的自動化基礎架構。它提供服務抽象,它是一組命名的高可用性(例如負載平衡)服務實例。
例子
- Docker編排框架包括Docker swarm模式和Kubernetes
- 無服務器平台,例如AWS Lambda
- PaaS包括Cloud Foundry和AWS Elastic Beanstalk
相關的模式
- 某些部署平台提供Service Registry和服務器端發現
- 在內部,部署平台可能使用使用容器或虛擬機來部署服務。Docker編排框架當然是基於容器的