Comment Django gère-t-il plusieurs utilisateurs? Je sais que Apache crée un nouveau fil et expressjs utilise des méthodes asynchrones. Mais je ne comprends pas Django car il fonctionne de manière synchrone n'aurait-il pas ralentir le processus s'il y a plus de 2-3 utilisateurs? p>
merci p>
3 Réponses :
Django est une application WSGI, qui est une différence fondamentale à partir d'un serveur (WSGI) tel que Apache. Nœud.js / express.js contient son propre serveur Web pour remplacer Apache. Django doit être servi par un serveur Web de votre choix. P>
Le seul travail de Django consiste à être en sécurité. Tous les autres aspects des demandes simultanées sont traités par votre serveur Web. P>
En supposant que votre inquiétude concerne de multiples connexions / demandes en général et que les utilisateurs ne soient notamment informés de Django et de threads. P>
Django est certainement thread-coffre-fort. C'est une considération de conception qui a occupé plusieurs personnes dans le passé, comme une personne qui suit le développement de Django peut observer. P>
Pour cette raison, Django peut être déployé dans un multi-fileté. Conteneur tel que le filetage par défaut Il y a toutefois des inquiétudes sur la manière dont le thread-sécurisé est une application particulière basée sur Django, ce qui concerne les développeurs individuels et les responsables de mainteneurs discrétion d'utiliser les meilleures pratiques. P>
Dans la documentation Django, il existe des sections particulières consacrées à la sécurité des threads. Par exemple, le Vues basées sur la documentation mentionne spécifiquement que chaque vue basée sur la classe a un état indépendant. En outre, une préoccupation très courante est des balises de modèle personnalisées, comme adresse dans Cette section . Je suis sûr qu'il y a aussi d'autres références au sujet qui me manquent actuellement, alors je conseillerais de garder la documentation pratique si vos préoccupations de sécurité sont trop grandes. P> mod_wsgi code> qui fonctionne avec le serveur Apache et, en tant que tel, il a été évalué par de nombreux déploiements. P>
Django ne fait rien pour gérer cela du tout. C'est entièrement le travail de tout serveur servant Django, que ce soit Apache, Gunicorn, UWSGI ou autre. Ces serveurs sont responsables de la gestion des threads ou des processus pour servir plusieurs demandes. P>