2
votes

Comment diviser un site Web Django en microservices

Donc, je suis nouveau dans ce débat sur l'architecture "monolith vs microservices" et j'en ai pratiquement compris la plupart. D'après ma compréhension limitée, je comprends que dans l'architecture de microservice, chaque fonctionnalité (disons) est une application distincte. Maintenant, j'ai besoin de quelques éclaircissements concernant django pour implémenter des microservices. Voici ma question

Dois-je faire de chaque microservice aka l'application un projet django complètement différent OU devrais-je créer chaque application aka le microservice dans un projet django et les garder isolés (comme dans un couplage lâche)?


0 commentaires

3 Réponses :


1
votes

L'architecture des microservices indique simplement que chaque service doit être indépendant l'un de l'autre.

Il n'est pas non plus nécessaire de créer un micro-service en java et un en python car ils ne sont pas liés.

Alors oui, idéalement, chaque micro-service est un projet django distinct. Pour résoudre ce problème, commencez par répertorier tous les modules possibles de votre site ou de votre application.

Ensuite, passez par: https://microservices.io/patterns/decomposition/decompose-by- capacité-entreprise.html https://microservices.io/patterns/decomposition/decompose-by-subdomain. html

Voici deux modèles recommandés pour diviser les modules / domaine en micro-services.


0 commentaires

0
votes

Le microservice doit être complètement indépendant pour ne pas appartenir à un projet Django. Vous devriez pouvoir déployer chaque service indépendamment avec sa propre base de données, de sorte que même si vous divisez le projet en applications distinctes, ils partagent toujours une base de données physique et vous ne pouvez pas les déployer séparément. Par conséquent, vous pourriez potentiellement créer un projet Django séparé pour chaque «microservice», mais cela n'a pas beaucoup de sens. Vous mettez beaucoup de frais généraux pour créer un microservice et utiliser le framework Django n'est pas un meilleur choix pour MSA, jetez un œil à Flacon .


0 commentaires

0
votes

eh bien, vous pouvez utiliser des routeurs de base de données dans django ... ça fait l'affaire ... un fichier wSGI par application communiquant avec votre serveur NGINX


0 commentaires