服务部署之通过容器部署服务实例

背景

您已应用微服务架构模式并将系统架构为一组服务。每个服务都部署为一组服务实例,以实现吞吐量和可用性。

问题

如何打包和部署服务?

诉求

  • 服务使用各种语言,框架和框架版本编写
  • 每个服务由多个服务实例组成,用于吞吐量和可用性
  • 服务必须可独立部署和扩展
  • 服务实例需要彼此隔离
  • 您需要能够快速构建和部署服务
  • 您需要能够约束服务所消耗的资源(CPU和内存)
  • 您需要监视每个服务实例的行为
  • 您希望部署可靠
  • 您必须尽可能经济高效地部署应用程序

解决方案

将服务打包为(Docker)容器映像,并将每个服务实例部署为容器

例子

Docker正在成为一种非常流行的打包和部署服务的方式。每个服务都打包为Docker镜像,每个服务实例都是Docker容器。有几个Docker集群框架,包括:

  • Kubernetes
  • 马拉松/ Mesos
  • 亚马逊EC2容器服务

结果

这种方法的好处包括:

  • 通过更改容器实例的数量可以直接扩展和缩小服务。
  • 容器封装了用于构建服务的技术的细节。例如,所有服务都以完全相同的方式启动和停止。
  • 每个服务实例都是隔离的
  • 容器对服务实例消耗的CPU和内存施加限制
  • 容器的构建和启动速度极快。例如,将应用程序打包为Docker容器比将其打包为AMI要快100倍。 Docker容器的启动速度也比VM快得多,因为只有应用程序进程启动而不是整个操作系统。

这种方法的缺点包括:

  • 部署容器的基础架构不如部署虚拟机的基础架构丰富。

相关模式

  • 此模式是每个主机模式的服务实例的细化
  • 每个VM模式的服务实例是一种替代解决方案
  • 无服务器部署模式是另一种解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值