我不是任何networking或devops家伙,但我必须为我的公司这样做,因为我的公司无法负担,所以请原谅我的错误。
我有一个在谷歌云托pipe的Web应用程序 , 我使用谷歌云提供的负载平衡器 ,在后端我有2个实例的Web应用程序。 问题是我正在使用文件caching和caching是分开的两个服务器。 这不是HTTPcaching或任何东西,它是从web应用程序而不是nginx后端caching。
我的服务器正在运行Ubuntu 16.04 LTS。
我怎样才能保持一个共同的文件caching服务器? 我想保留第三台服务器进行文件caching,这样caching对于这两个实例都是常见的,为此我想使用NFS,使用NFS进行文件caching是个不错的主意?
我在互联网上研究了很多,这是我听说NFS的地方。
所有实例的通用文件服务器是一个有问题的想法,因为它可能成为瓶颈和单点故障。 这样就可能最终破坏首先使用负载平衡器的目的。
为了推荐一个解决scheme,您需要了解更多关于您的系统架构。 我可以根据你的架构给出一些可能或不可以工作的build议。
协议的select应该取决于你如何满足上述要求。 我不认为NFS是最好的select,因为当其中一个NFS服务器没有响应时,应用层很难实现超时。 而一个NFS服务器没有响应的可能性导致多个LB后端行为的错误是我宁愿没有的风险。
客户端(在LB后端运行)以用户模式实现的协议可能是更好的select,因为任何线程因为不响应的caching服务器而被卡住的可能性更大。 在用户模式下实现访问高速caching虚拟机时,实现超时更为简单。