Je dispose actuellement d'un serveur de production Django en pleine croissance, sur lequel s'exécutent tous les services frontaux et backend. Je pourrais continuer à faire croître ce serveur de plus en plus, mais je voudrais plutôt laisser ce serveur principal comme serveur principal et créer plusieurs serveurs frontaux qui exécuteraient apache/nginx et se connecteraient à distance au serveur principal de production. J'utilise maintenant slicehost, donc je ne pense pas que les serveurs multiples puissent fonctionner sur un intranet. Comment puis-je faire cela?Déplacer vers 2 serveurs physiques Django (front et backend) à partir d'un seul serveur de production?
Répondre
La première étape de la mise à l'échelle de votre serveur consiste généralement à séparer le serveur de base de données. Je suppose que c'est tout ce que vous vouliez dire par "backend services", à moins que vous ne nous donniez plus de détails.
Tout cela nécessite une modification de votre fichier de paramètres. Changez DATABASE_HOST de localhost à la nouvelle adresse IP de votre serveur de base de données.
Si votre site contient beaucoup de contenu statique, la création d'un serveur de médias distinct pourrait vous aider. Vous pouvez même regarder dans un CDN.
La première étape consiste généralement à séparer le serveur exécutant le code Python réel et le serveur de base de données. Tous les travaux d'arrière-plan qui effectuent le traitement s'exécuteront probablement sur le serveur de base de données. Je suppose que lorsque vous dites serveur frontal, vous voulez dire un serveur exécutant du code Python. Maintenant, comme chaque requête devra faire un certain nombre de requêtes de base de données, la latence entre le serveur web et le serveur de base de données est très importante. Je ne sais pas si Slicehost a quelques fonctionnalités pour vous permettre de créer deux machines virtuelles qui sont "proches" en termes de latence réseau (une recherche google rapide n'a rien trouvé). Ils ont l'air d'être gentils, alors peut-être pourriez-vous leur demander s'ils ont un tel service ou pourraient faire une exception. Quoi qu'il en soit, quand vous avez deux machines sur Slicehost, vous pouvez vérifier la latence entre elles en cliquant simplement entre elles. Lorsque vous avez le résultat, vous saurez probablement si cela est faisable ou non.
Les étapes suivantes dépendent de votre application. Si les médias sont lourds, alors l'utilisation d'un serveur multimédia distinct pourrait avoir du sens. Sinon, l'étape normale consiste à ajouter plus de serveurs Web.
- Comme une note de côté
, je pense personnellement qu'il est plus logique d'investir dans de véritables serveurs dédiés avec des équipements de réseau dédiés à ce type de configuration. Cela dépend bien sûr du budget que vous utilisez.
Je vous suggérerais également de regarder dans Amazon EC2 où vous pouvez provisionner des serveurs qui sont magiquement proches les uns des autres.
- 1. Front end PHP et backend Django?
- 2. Liaison de 2 DB à partir de 2 serveurs différents
- 3. Un serveur de production prêt à servir django sur win32
- 4. comment enregistrer des données à partir de ms acess front end à ms sql backend?
- 5. Comment puis-je télécharger mes fichiers sur mon serveur statique à partir d'un serveur de production?
- 6. Utilisation de 5 serveurs physiques dans un cluster
- 7. Django Backend-neutral DictCursor
- 8. ASP.NET - Serveurs locaux et de production - Différence d'ID de contrôle
- 9. Déplacer le serveur Sql 2005 vers Oracle?
- 10. Spring Security redirige vers localhost sur le serveur de production
- 11. Comment m'authentifier et faire des demandes à partir d'une application iPhone vers un backend Django pour contourner CSRF?
- 12. Téléchargement de fichier depuis le serveur Flex vers Rails 2
- 13. MS Access backend pour django
- 14. Déploiement d'un site Web vers la production à partir du serveur Team Build
- 15. Exécution de Django-Celery en production
- 16. Comment déplacer un fichier d'un serveur vers un autre serveur
- 17. De quelle version de SQL Server ai-je besoin pour déplacer la base de données vers le serveur de production?
- 18. git: pousser et tirer pour les serveurs de mise en scène et de production
- 19. Impossible de modifier Active Directory à partir des serveurs de test/production
- 20. Déplacer vers le haut et Déplacer vers le bas les éléments dans la zone de liste
- 21. Data push to flex application à partir de .net backend
- 22. Mise à niveau de Sharepoint 3.0 vers SQL 2005 Backend?
- 23. Déplacer le fichier zip entre les serveurs utilisant C#
- 24. Disques physiques et volumes physiques mappés en mémoire
- 25. Déplacer le travail Hudson vers un autre serveur
- 26. Comment dois-je déplacer les messages en file d'attente d'IIS vers Exchange sur différents serveurs?
- 27. Comment compareriez-vous Apache Tomcat & Glassfish en tant que serveurs de production?
- 28. Comment déplacer Zend Framework du développement à la production?
- 29. Synchroniser le serveur local et le serveur de production
- 30. problème tableadapter entre dev et serveur de production
Quelle est la source de charge de vos serveurs? Est-ce CPU? Base de données? Disque? Plusieurs serveurs frontaux apache/nginx ont moins de sens qu'un seul front-end apache/nginx et plusieurs serveurs backend, alors y a-t-il un autre problème à pied? –
Cette question est impossible de répondre sans savoir ce que vous faites déjà et comment cela ne fonctionne pas. –