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

时间:2012-12-07 17:38:32

标签: git sync

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

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

此时我们与文件共享网络,所有服务器都会查看它。这个解决方案存在网络负载问题(在某一时刻有超过1000个连接从共享中读取文件),所以它非常慢。

我有几个解决方案:

  1. 使用一些同步软件
  2. 使用git hooks从本地存储库获取更新并将其提取到服务器上
  3. 找到一些网络负载的解决方案
  4. 什么是最佳的?还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

虽然它首次在rails网站上使用ruby,但它也被用于其他语言。我经常使用它,并且非常成功地使用基于PHP的站点跨多个服务器。