2016-12-15 163 views
0

上管理本地属性文件,我们希望有一个更新的属性与版本信息文件本地在我们的后台应用程序:多个Web服务器

..所以,从我们的客户每一个要求,我们可以检查用户是否有最新版本,或者如果应用程序处于维护模式,而不进行任何额外的数据库调用。

第一个想法是通过在后端手动端点调用来获取本地属性文件更新 - 对于一个实例来说工作正常。但是如果我们使用Elastic Beanstalk将它部署到AWS上,那么端点调用将只更新其中一个实例的属性文件。我们如何管理不同实例的本地属性文件而不会产生大的开销?有任何想法吗?

回答

2

一种方法是将文件存储在S3中。然后,您可以在每次需要时读取该文件,并且所有服务器将共享相同的副本。但是,如果这是一个频繁更新和/或读取的文件,我会使用SNS通知和本地缓存文件。基本上,在启动时,所有服务器都会从S3读取文件并存储本地缓存副本。然后,他们会监听连接到S3存储桶的SNS主题。在更新存储桶时,会向正在收听的所有内容发送SNS通知。服务器将重新读取文件并更新本地副本。

+0

听起来不错,我会尝试这种方式! – dabo