加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何重新启动一组mongrel

发布时间:2020-12-17 04:15:53 所属栏目:百科 来源:网络整理
导读:任何人都知道通过capistrano以“滚动”方式重新启动杂种群集的好方法,例如,一次只有一个杂种.很高兴在那里有一些等待时间,让mongrel加载rails应用程序. 我做了一些搜索,并没有找到太多,所以在我自己潜入mongrel_cluster gem之前寻求帮助. 谢谢! 解决方法 我
任何人都知道通过capistrano以“滚动”方式重新启动杂种群集的好方法,例如,一次只有一个杂种.很高兴在那里有一些等待时间,让mongrel加载rails应用程序.

我做了一些搜索,并没有找到太多,所以在我自己潜入mongrel_cluster gem之前寻求帮助.

谢谢!

解决方法

我同意跷跷板方法而不是你正在寻求的滚动方法.问题是,在转换过程中,负载平衡可能会在不同版本的应用程序之间来回传递用户.

我们提出的解决方案(在找到SeeSaw之前,我们没有使用)是从负载平衡器中取出一半的杂物.关闭它们.更新它们.启动它们.将这些mongrels重新上线到负载均衡器中,然后关闭另一半.关闭下半场.更新下半场.启动它们.这大大减少了同时运行两个不同版本的应用程序的时间.
我写了一个Windows bat文件来做到这一点. (建议不要在Windows上部署,顺便说一句)

值得注意的是,进行数据库迁移可能会使整个方法变得有点危险.如果只有附加迁移,则可以在部署之前随时运行这些迁移.如果要删除列,则需要在部署后执行此操作.如果要重命名列,最好将其拆分为创建新列并将数据复制到迁移中以在部署之前运行,并使用单独的脚本在部署之后删除旧列.实际上,如果您没有特别努力组织它们,那么在生产数据库中使用常规迁移可能会很危险.所有这些都指向更频繁的交付,因此每次更新都是风险较低且不太复杂,但这是另一个响应的主题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读