0

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

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

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

我有几个解决方案:

  1. 使用一些同步软件
  2. 使用 git hooks 从本地 repos 获取更新并将它们拉到服务器上
  3. 找到一些网络负载的解决方案

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

4

2 回答 2

0

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

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

于 2012-12-08T09:36:06.153 回答
0

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

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

于 2012-12-08T09:44:07.083 回答