2016-12-15 147 views
0

上管理本地屬性文件,我們希望有一個更新的屬性與版本信息文件本地在我們的後臺應用程序:多個Web服務器

..所以,從我們的客戶每一個要求,我們可以檢查用戶是否有最新版本,或者如果應用程序處於維護模式,而不進行任何額外的數據庫調用。

第一個想法是通過在後端手動端點調用來獲取本地屬性文件更新 - 對於一個實例來說工作正常。但是如果我們使用Elastic Beanstalk將它部署到AWS上,那麼端點調用將只更新其中一個實例的屬性文件。我們如何管理不同實例的本地屬性文件而不會產生大的開銷?有任何想法嗎?

回答

2

一種方法是將文件存儲在S3中。然後,您可以在每次需要時讀取該文件,並且所有服務器將共享相同的副本。但是,如果這是一個頻繁更新和/或讀取的文件,我會使用SNS通知和本地緩存文件。基本上,在啓動時,所有服務器都會從S3讀取文件並存儲本地緩存副本。然後,他們會監聽連接到S3存儲桶的SNS主題。在更新存儲桶時,會向正在收聽的所有內容發送SNS通知。服務器將重新讀取文件並更新本地副本。

+0

聽起來不錯,我會嘗試這種方式! – dabo