本文说明了微服务架构的部署模式之一:每一个主机一个服务实例。html
场景
已经经过微服务架构的分解模式(参考按业务领域分解模式划分微服务),将整个应用程序划分为多个独立的微服务。架构
目标
- 每一个服务由多个服务实例组成,用于提升吞吐量和可用性。
- 服务必须可独立部署和扩展。
- 服务实例须要彼此隔离。
- 须要可以快速构建和部署服务。
- 须要可以约束服务所消耗的资源(CPU和内存)。
- 须要监视每一个服务实例的性能和行为。
- 部署必须是可靠的。
- 部署必须是经济高效的。
方法
在同一个主机(一般是虚拟机)上运行一个服务的一个实例。微服务
优势
- 经过增长实例数量能够直接扩展服务。
- VM封装了构建服务的技术细节,全部服务都以彻底相同的方式启动和中止。
- 每一个服务实例都是隔离的。
- VM能够针对服务实例消耗的CPU和内存作精确的限制。
- 虚拟机管理工具能提供成熟且功能丰富的基础架构。
缺点
相关模式