繁体   English   中英

在许多应用程序服务器之间同步

[英]Sync between many application servers

我们有一个应用程序,其主要功能位于文件中。 另外,我们还有与主分支和生产分支的GIT仓库。

该应用程序位于6个生产服务器上,而负载平衡服务器位于前面。 主要问题在于同步文件。

目前,我们与文件共享网络,所有服务器都在查看它。 此解决方案存在网络负载问题(一次有超过1000种连接从共享中读取文件),因此它非常慢。

我有几种解决方案:

  1. 使用一些同步软件
  2. 使用git钩子从本地存储库获取更新并将其拉到服务器上
  3. 找到一些网络负载的解决方案

什么是最佳? 还有其他解决方案吗?

使用某种Continuous Integration Server怎么样? 我不知道您的应用程序的详细信息,但是通常CI服务器可以自动化测试并部署在应用程序服务器上。

根据您使用的语言,有一些CI服务器。以我的经验,对于JAVA项目, jenkins是一个很好的解决方案。

Capistrano专为这种代码部署而设计。 它将站点的本地副本从版本控制更新到新目录(使用Git,首先更新本地回购副本,因此非常快),并且当所有服务器都准备好新代码库时,翻转符号链接并有选择地重新启动网络服务,以便提供新版本的网站。 如果有任何计算机在该任务中失败,它将回滚所有计算​​机。

尽管它最初是与Rails网站上的ruby一起使用的,但也已用于其他语言。 我在多个服务器上的基于PHP的站点上经常且非常成功地使用了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM