Meteor应用程序-如何实现多实例部署的编排/配置
Meteor Application - How might one implement orchestration/provisioning for multi-instance deployments?
我有一个metro.js应用程序,它可以很好地进行单实例部署,但现在我想设置基础设施,以启用并自动创建更多实例(每个客户端1个)。
我打算为每个部署保留一个子域,为给定的客户端保留。
我的图像我必须:
- 检索每个客户端所需的子域(通过一些注册网站)
- 捆绑应用程序
- 在单独的端口上部署一个实例,每个端口都有一个单独的DB
- 设置反向代理以将子域转发到相应的内部端口
- 设置一些程序来监视进程,并在进程崩溃或重新启动时重新启动它们
- 在更新和发布应用程序代码时自动重新绑定并部署到所有实例
据我所知,我认为适合这份工作的工具在编排家族中(Capistrano、Fabric、Func、Rundeck),但我不知道他们处理哪些片段,以及哪些片段应该留给其他工具。
我的很多问题都来自于不知道如何连接步骤和/或是否应该连接它们。其他的原因是不知道什么是最佳实践,也不知道在哪里可以学到做这类事情的设计模式。
例如:
- 我知道如何在命令行上捆绑应用程序,但这一步骤应该是shell脚本、python脚本或ruby的一部分吗。。。。部署中的第2步也是如此(我知道如何在命令行上完成,但不知道如何自动化)
- 我想我可以设置一个反向代理,但我不知道有什么反向代理工具可以动态修改或配置,如果任何脚本语言都适合进行动态配置
- 我不知道在更新/重新部署应用程序时需要或应该考虑什么
基本上,似乎有很多工具和很多方法可以做到这一点,但很少有关于哪些工具可以很好地配合使用或如何正确操作的指导。如果我不觉得选择一套能很好地协同工作的工具实际上是掷骰子,我会非常有动力学习必要的工具和语言。
您可以从metro-up开始,让您的服务器在启动时一直运行(永远是npm)。
haproxy具有软重新配置功能,可以在不重新启动服务的情况下添加和删除子域(或子域的服务器)。
你应该拥有一切你需要的东西。
相关文章:
- ES6构造函数返回基类的实例
- KnockoutJS-组件-多个实例
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- fluxxor向一个flux实例添加一组以上的操作
- 使用jQuery获取Dropzone实例/对象
- "实例范围”;TypeScript类的getter/setter
- 如何在速度模板中获取LiferayPortlet实例id
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- 实例创建(JS)
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 显示模块模式在Knockout中设置模型的新实例
- 如何获取单选按钮的多个实例的选定单选按钮值
- 部署时使用npm包时发生Meteor错误
- 当同一浏览器的两个实例浏览时,Javascript页面如何具有唯一的ID
- 在哪里可以找到RXUI Javascript'时间飞逝'实例
- spine.js在启动时填充模型实例
- 不再需要时使用jQuery/kill实例
- Meteor应用程序-如何实现多实例部署的编排/配置
- JQuery$.post在VS2010实例中有效,但在IIS 7.5中部署时无效