我们有一个应用程序,其主要功能位于文件中。我们还有GIT仓库和主要生产分支机构。
该应用程序位于6个生产服务器,前面有负载平衡服务器。 主要问题是同步文件。
此时我们与文件共享网络,所有服务器都会查看它。这个解决方案存在网络负载问题(在某一时刻有超过1000个连接从共享中读取文件),所以它非常慢。
我有几个解决方案:
什么是最佳的?还有其他解决方案吗?
答案 0 :(得分:0)
使用某种Continuous Integration Server怎么样? 我不知道您的应用程序的详细信息,但通常CI服务器可以自动化测试并在应用程序服务器上部署。
根据您使用的语言,有一些CI服务器。根据我的经验,对于JAVA项目,jenkins是一个很好的解决方案。
答案 1 :(得分:0)
Capistrano专为此类代码部署而设计。它将站点的本地副本从版本控制更新到新目录(使用Git,首先更新本地仓库副本,因此速度非常快),并且当所有服务器都准备好使用新代码库时,翻转符号链接并可选择重新启动网络服务,以便提供新版本的网站。如果任何机器在该任务中失败,它将回滚所有机器。
虽然它首次在rails网站上使用ruby,但它也被用于其他语言。我经常使用它,并且非常成功地使用基于PHP的站点跨多个服务器。