2013-06-06 3 views
1

Je cherche à construire une application web pour la gestion de cas qui sera utilisée par les utilisateurs du monde entier.Architecting Application Azure desservant plusieurs continents

Je dois m'assurer que l'application fonctionne bien pour tous les utilisateurs, peu importe la région, mais pour l'instant disons que l'accent est mis sur les États-Unis, l'Europe occidentale et l'Australie.

Les membres de l'équipe vont utiliser cette application pour créer et collaborer sur des cas. Par exemple, les utilisateurs américains créeront des cas dans le système que l'Australie et l'Europe verront, éditeront en temps réel.

Où puis-je commencer en termes d'architecture pour de meilleures performances?

Répondre

1

Il y a deux stratégies et dépend de votre taille des données et des besoins:

1) sharding votre base client sur les zones afin que les différents clients existent parler à différentes bases de données et de calcul. Ceci est généralement fait par sharding personnalisé de sorte que vous avez une boîte qui poussera les gens au bon endroit ou par url .. i.e usa.blah.com ou europe.blah.com. Cela peut devenir complexe mais vous pouvez évidemment gérer votre système dorsal pour le dire. L'information du client X devrait être la base de données de Y ainsi écrire là sur le back-end.

2) L'autre façon est que vous pouvez utiliser un gestionnaire de trafic pour pousser votre utilisateur à différents calculs en fonction de leur emplacement.

https://azure.microsoft.com/en-us/documentation/articles/traffic-manager-overview/

base de données de synchronisation Ensuite, vous pouvez les données sur les zones sur 5 calendrier min, puis par exemple vous avez une lecture/écriture dire par exemple principal aux Etats-Unis Est et que vous appuyez sur Lecture seule copies vers les centres de données locaux .

3) Si vous ne disposez pas d'une configuration de base de données aussi lourde et que vous pouvez mettre en cache une grande partie des informations du côté traitement, utilisez le gestionnaire de trafic et ayez une base de données centrale unique. Deux choses cependant vous donneront les meilleures performances, en utilisant des centres de données locaux pour le client permettra de réduire la latence et l'autre majeur est la mise en cache autant de données que possible sur le côté de calcul afin de réduire les appels de base de données.

Vous avez vraiment besoin d'essayer différentes configurations dans un petit environnement de calcul et de voir ce qui fonctionne le mieux pour votre application.

Questions connexes