2012-06-10 4 views
1

Comment l'état est-il géré entre les sessions? Je sais que dans Azure, les états spécifiques au client sont stockés dans SQL Azure. Je me demande si cela est fait de manière similaire dans AWS?Gestion d'état dans les services Web Amazon

Est-ce que les différentes instances de votre application accèdent toutes à une base de données où l'état est stocké? La gestion de l'état est-elle très différente selon les technologies que vous utilisez?

Répondre

3

Au niveau de 'devoirs', Amazon Web Services est vaguement composé de deux ensembles de choses différentes:

  • services d'infrastructure (EC2, EBS), que vous gérez vous-même
  • services de niveau supérieur (S3 , DynamoDB, ELB), qui Amazon gérer pour vous

Lorsque vous téléchargez un fichier à S3, il est stocké dans un certain nombre de machines dans un certain nombre de centres de données, et Amazon est responsable de trouver et retourner le fichier lorsque vous le demandez (ainsi que mak Si un élément est intégré à l'un des services d'infrastructure, par exemple une application exécutée sur EC2, vous êtes seul pour savoir comment stocker et synchroniser les données. État: (! très mauvais)

  • Un serveur, l'état en mémoire (mauvais)
  • équilibrage de charge sans manipulation Etat
  • équilibrage de charge avec des sessions collantes (sensible, mais pas assez par lui-même; si ce serveur tombe hors de la piscine, les autres serveurs ont aucune idée de qui vous êtes)
  • équilibrage de charge avec les serveurs avec un serveur d'état commun

Comment conserver l'état? Traditionnellement une base de données (éventuellement Amazon RDS) avec un cache mémoire (tel que Elasticache - le cache compatible memcached d'Amazon). Amazon's new DynamoDB service is a good fit for this use, en tant que magasin de valeur-clé rapide et redondant.

+0

Ici, il y a un bon article à ce sujet. [Lien] (https://aws.amazon.com/blogs/developer/elasticache-as-an-asp-net-session-store/) – zapoo

Questions connexes