Vagrant 流浪者和微服务开发环境

Vagrant 流浪者和微服务开发环境,vagrant,Vagrant,我有一个正在运行的项目,它由一组微服务组成。我们正计划引入Vagrant,以便任何加入团队的新开发人员都能够轻松地设置环境并在其机器上运行 我读《流浪汉》已经有一段时间了,它看起来很有趣。我开始的时候很简单。我使用Vagrant初始化了一个微服务,然后创建了一个Vagrant文件。这是一个好方法吗?每个微服务一个文件 然后我尝试为这个微服务创建一个框。这个盒子应该有什么名字?我应该遵守任何命名约定吗?如何以及在何处保存此框?这应该是我的微服务组件源代码的一部分吗?我知道你也问了一个关于这方面的问

我有一个正在运行的项目,它由一组微服务组成。我们正计划引入Vagrant,以便任何加入团队的新开发人员都能够轻松地设置环境并在其机器上运行

我读《流浪汉》已经有一段时间了,它看起来很有趣。我开始的时候很简单。我使用Vagrant初始化了一个微服务,然后创建了一个Vagrant文件。这是一个好方法吗?每个微服务一个文件

然后我尝试为这个微服务创建一个框。这个盒子应该有什么名字?我应该遵守任何命名约定吗?如何以及在何处保存此框?这应该是我的微服务组件源代码的一部分吗?

我知道你也问了一个关于这方面的问题

我也不知道你为什么要利用微服务,因为我不知道有哪个软件专门命名它

一般来说,Vagrant和虚拟化/VMs让您选择系统体系结构——通常人们会尝试选择接近生产现状或未来的产品。如果您有一个小型站点,并且所有内容都将在共享框或VPS中运行,那么将所有内容安装在一个vagrant框中并进行相应的配置(使用Docker或简单的shell配置脚本)就可以了

如果生产中有多台服务器(www、app、db等),那么您可以选择。您仍然可以将所有这些角色配置到一个vagrant框中,或者您可以启动多个框,每个框都尝试复制这些角色(请参阅)-在这种情况下,您可能更喜欢Docker而不是shell配置脚本。假设您可以在所有环境(开发、qa、生产等)中使用相同或非常相似的Docker配置

你最后一段中的问题

这个盒子应该有什么名字?我应该坚持任何命名吗 习俗?如何以及在何处保存此框?应该这样吗 是我的微服务组件源代码的一部分吗

通常取决于您以及您的开发和部署工作流。在多开发人员环境中,我通常会将
Vagrantfile
与源代码一起存储在版本控制中,这样所有开发人员都可以在同一个开发环境中工作,并且如果您正在进行部署和资源调配,那么就可以快速轻松地加入新开发人员或重新启动

  • 命名框和命名约定不是必需的,由您决定
  • 盒子的持久性通常不是一个高优先级的问题——想法是你可以快速而轻松地(每隔几个小时、几天、一周一次等)重新创建你的盒子
  • 我不能确定您是否应该将
    Vagrantfile
    与源代码一起存储,这将取决于您的团队组成、开发工作流程等

    • 我同意@Brian的大部分答案

      我读《流浪汉》有一段时间了,看起来 有趣。我开始的时候很简单。我初始化了一个 使用Vagrant创建Vagrant文件的微服务。这是吗 好办法?每个微服务一个文件

      我不会这么做,设置整个虚拟机(就像vagrant一样,即使使用时也是如此)需要一些成本(CPU、RAM),因此最好是有一个单独的vagrant文件来部署您的服务,因此如果您部署了一个新的服务,您可以在此虚拟机上部署


      你可以看到(我发现的)使用Vagrant查看微服务体系结构的一个很好的例子

      我正在谈论微服务体系结构,以及如何将Vagrant应用到我的应用程序中的一组微服务中landscape@sparkr它仍然不是一个专有名词,不应该大写。docker vagrant GitHub示例服务器是一个起点。谢谢你。我的问题是,我们所有的微服务都在一个单独的GitHub存储库中,需要以某种方式将其拉到一起并进行编排。这些行中有任何指针吗?听起来你们有相同的问题,你们可以通过同步文件夹查看我的答案