0

我需要将我的单个单体应用程序解耦为“微服务”,每个模块都是(应用程序服务器 + 数据库)的组合。

想知道这个

  • 流浪汉
  • OpenVZ
  • Docker(不是首选,因为它不支持数据持久性)

哪一个用于生产服务器?

4

1 回答 1

1

TL;DR: Docker 和 RKT 是企业选择,Docker 拥有更广泛的社区、关注和推动力。

首先,Docker 支持数据持久化。您可以通过卷轻松做到这一点,并且许多驱动程序可用于不同的存储后端。

Docker理念:微服务。

谷歌在 2000 年代开始使用容器,今天很多企业在重负载下使用容器。Docker 是最好的实现之一。所以绝对是码头工人,具体取决于您的需求和环境。

Vagrant适用于开发环境。你甚至可以在里面使用 docker,或者没有 vagrant local docker。

OpenVZ专注于设置您手动装饰的 VPS 容器。因此,它们为空的 linux 机器提供了模板,您可以启动和关闭这些机器,然后您可以通过 SSH 连接到这些机器,您可以使用任何您需要的东西自行设置它们,例如 LAMP 堆栈。

OpenVZ vs Docker:OpenVZ 将容器视为 VPS,而 docker 将容器视为应用程序/服务。所以绝对是微服务的 docker。

RKT,功能上 docker 都和 rkt 类似;然而,除了“Docker 镜像”,rkt 还可以下载和运行“应用容器镜像”(ACI)。除了支持 ACI 之外,rkt 具有完全不同的架构,其设计时考虑了可组合性和安全性。

rkt 没有集中的“init”守护进程,而是直接从客户端命令启动容器,使其与诸如 systemd、upstart 等初始化系统兼容。

rkt 使用标准的 Unix 组权限来允许不同操作之间的权限分离。一旦正确设置了 rkt 数据目录,容器镜像下载和签名验证就可以作为非特权用户运行。

在此处输入图像描述

于 2017-03-01T14:45:35.920 回答