我们希望在我们的后端应用程序本地拥有一个包含版本信息的更新属性文件:
..所以,根据我们客户的每一个请求,我们都可以检查用户是否拥有最新版本,或者应用程序是否处于维护模式,而无需进行任何额外的数据库调用。
第一个想法是通过后端的手动端点调用来更新本地属性文件 - 这对于一个实例来说工作正常。但是如果我们使用Elastic Beanstalk在AWS上部署它,那么端点调用将只更新其中一个实例上的属性文件。如何在不产生大量开销的情况下管理不同实例上的本地属性文件?有什么想法吗?
答案 0 :(得分:2)
一种方法是将文件存储在S3中。然后,您可以在每次需要时读取该文件,并且所有服务器将共享同一副本。但是,如果这是一个经常更新和/或读取的文件,我将使用SNS通知和文件的本地缓存。基本上,在启动时,所有服务器都将从S3读取文件并存储本地缓存副本。然后他们会监听连接到S3存储桶的SNS主题。更新存储桶时,会向正在侦听的所有内容发送SNS通知。服务器将重新读取文件并更新本地副本。