复杂的系统和流浪汉

时间:2015-12-31 15:52:57

标签: apache nginx architecture vagrant virtualization

在制作方面,我们有一个网络基础设施:

  1. Load Balancer(haproxy)
  2. API服务器(PHP + apache)
  3. 前端服务器(Javascript + nginx)
  4. MySql Server
  5. Redis服务器
  6. 我喜欢开始使用Vagrant使生产环境与开发环境完全相同,并且让新开发人员可以轻松地开始工作。

    最大的问题是:我应该如何打造这个盒子? 我应该把所有东西放在一个盒子里还是我应该建造更多的盒子?多少钱?

1 个答案:

答案 0 :(得分:0)

这取决于您与开发人员达成的惯例。问自己一个问题:你希望在什么类型的结构中工作:分布式或集中式。

如果答案是"分发",您可以为每个项目制作一个方框。当你不久前想要完成最后修改的任何项目时,你不会陷入困境。但是,如果您的项目的大部分基于相同的生产环境,这种方法会占用大量内存和存储空间,有时它没有意义。

如果答案是"集中式",则表示在同一环境中构建的所有项目中的一个框就足够了。它可以节省大量时间,但当您正在寻找旧项目时,它也很容易混淆。您可以在Vagrant框中为每个项目设置Docker容器。

此外,我还建议你Packer用于制作盒子。对于这个目标来说,这绝对是一个明确的工具,它可以使"准备工作"每个虚拟化环境的Vagrant框并执行shell脚本/ CMS脚本。只需将生产环境中必不可少的所有内容放入包装盒中,以后开发人员可以通过Vagrant配置添加一些包依赖项,并通过Vagrantfile设置进行共享。