我需要将单个单片应用程序解耦为“微服务”,每个模块都是(应用服务器+数据库)的组合。
想知道这个
哪一个用于生产服务器?
答案 0 :(得分:1)
TL; DR: Docker和RKT是企业的选择,Docker拥有更广泛的社区,关注和推动。
首先,Docker支持数据持久性。您可以通过卷轻松完成此操作,并且可以为不同的存储后端提供大量驱动程序。
Docker 理念:微服务。
谷歌在2000年代开始使用容器,很多企业今天都在使用容器。 Docker是最好的实现之一。所以,根据您的需求和环境,它绝对是码头工具。
Vagrant 适用于开发环境。你甚至可以在里面使用docker,或者不使用vagrant本地docker。
OpenVZ 专注于设置您手动装饰自己的VPS容器。因此,它们为您可以启动和关闭的空Linux机器提供模板,然后您可以通过SSH进入,以便根据需要自行设置它们,例如LAMP堆栈。
OpenVZ vs Docker :OpenVZ将容器视为VPS,而docker将容器视为应用程序/服务。所以绝对是微服务的docker。
RKT ,功能上的docker类似于rkt;然而,与" Docker Images"一起,rkt还可以下载并运行“应用容器图像”#34; (ACI的)。除了支持ACI之外,rkt还有一个截然不同的架构,其设计考虑了可组合性和安全性。
rkt没有集中的" init"守护进程,而不是直接从客户端命令启动容器,使其与initd系统,如systemd,upstart等兼容。
rkt使用标准的Unix组权限来允许不同操作之间的权限分离。正确设置rkt数据目录后,容器映像下载和签名验证可以作为非特权用户运行。