0
我有一個運行在彈性beanstalk服務器上的節點js應用程序。服務器配置爲在負載變大時自動縮放。我在想,如何在所有實例之間共享變量?一種方法是將它們保存到dynamodb,但不是一種更簡單的方法嗎?彈性beanstalk - 發生自動縮放時在實例之間共享數據
我有一個運行在彈性beanstalk服務器上的節點js應用程序。服務器配置爲在負載變大時自動縮放。我在想,如何在所有實例之間共享變量?一種方法是將它們保存到dynamodb,但不是一種更簡單的方法嗎?彈性beanstalk - 發生自動縮放時在實例之間共享數據
你的意思是「變量」究竟是什麼意思?會話數據?全球應用數據?
通常,當應用程序分佈在AWS上的多個服務器上時,您希望通過數據庫(RDS或DynamoDB)或緩存(ElastiCache)共享數據,並且您希望通過S3共享文件。
您可以在負載均衡器上啓用粘性會話,以便來自單個用戶的所有請求都將轉到單個服務器。這可以防止用戶在應用程序擴展時突然註銷或丟失數據,而無需將該用戶的數據發送到新服務器。如果您有長時間運行的用戶會話,則粘性會話可能會阻止跨服務器的最佳負載平衡。
如果您想跨服務器共享會話,爲了防止需要粘滯會話或者更簡單地處理縮放事件,可以使用store user sessions in Redis(ElastiCache)。
我的意思是全局應用程序數據,我通常將其存儲在變量中的類型,而不是用戶會話。 –
你還會爲此推薦ElastiCache嗎? –
是或數據庫。 –