【问题标题】:Which platform is mostly used in production servers to develop and deploy "application services" [closed]哪个平台主要用于生产服务器来开发和部署“应用程序服务”[关闭]
【发布时间】:2017-07-20 21:44:03
【问题描述】:

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

对此感到疑惑

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

哪一个用于生产服务器?

【问题讨论】:

  • 这是一个宽泛的问题,不是吗?
  • @jbird 是的,但正如 vagrant 明确提到的那样,它用于开发环境“vagrantup.com”(“创建和配置轻量级、可重现和可移植的开发环境。),它是否用于满足我需求的生产服务器?,一年以来,我自己一直使用 openVZ 进行测试设置,它完美无缺。甚至没有人谈论过这个让我感到困惑的部署服务 :( 。我的问题归结为基于 CRUD 的服务如何具有数据持久性的部署在现实世界中?:) 这需要稳定性和易于扩展。
  • 通常不需要数据持久性,因为它会引入一个状态

标签: docker vagrant openvz


【解决方案1】:

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

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

Docker 理念:微服务。

Google 于 2000 年代开始使用容器,如今许多企业在高负载下使用容器。 Docker 是最好的实现之一。所以绝对是 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 数据目录设置正确,容器镜像下载和签名验证就可以作为非特权用户运行。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-01-13
  • 2018-07-13
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多