[英]Sync between many application servers
我们有一个应用程序,其主要功能位于文件中。 另外,我们还有与主分支和生产分支的GIT仓库。
该应用程序位于6个生产服务器上,而负载平衡服务器位于前面。 主要问题在于同步文件。
目前,我们与文件共享网络,所有服务器都在查看它。 此解决方案存在网络负载问题(一次有超过1000种连接从共享中读取文件),因此它非常慢。
我有几种解决方案:
什么是最佳? 还有其他解决方案吗?
使用某种Continuous Integration Server怎么样? 我不知道您的应用程序的详细信息,但是通常CI服务器可以自动化测试并部署在应用程序服务器上。
根据您使用的语言,有一些CI服务器。以我的经验,对于JAVA项目, jenkins是一个很好的解决方案。
Capistrano专为这种代码部署而设计。 它将站点的本地副本从版本控制更新到新目录(使用Git,首先更新本地回购副本,因此非常快),并且当所有服务器都准备好新代码库时,翻转符号链接并有选择地重新启动网络服务,以便提供新版本的网站。 如果有任何计算机在该任务中失败,它将回滚所有计算机。
尽管它最初是与Rails网站上的ruby一起使用的,但也已用于其他语言。 我在多个服务器上的基于PHP的站点上经常且非常成功地使用了它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.