|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Manu Directeur technique Inscription : janvier 2008 Messages : 9 ![]() |
Bonjour à tous,
Je suis en train de développer une application python qui doit fonctionner dans plusieurs pays. J'ai un serveur linux, en France, qui fait tourner ma base de donnée mySQL. Pour l'instant mon application fait directement les requêtes à la bdd au travers d'internet et ça rame, surtout si l'application tourne sur une machine en Australie. Du coup en cherchant, j'ai commencé à comprendre qu'il fallait que je revois mon architecture pour aller vers une architecture 3-tiers. Donc si j'ai bien compris, il me faut une application qui tourne sur le serveur, et qui écoute les clients, et cette appli fait les requêtes mySQL et renvoie les données au client. La communication entre les clients et l'application sur le serveur se faisant avec un protocole comme XML-RPC (ou pas d'ailleurs... je cherche juste à comprendre) Je suppose que je ne suis pas le premier à devoir faire ce genre de choses, est-ce que vous pourriez me conseiller sur la bonne marche à suivre, les librairies/framework qu'il faut utiliser ? Qu'est ce qui existe déjà qui pourrait me simplifier le développement ? Merci d'avance pour vos idées, réponses, liens |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : mai 2006 Messages : 258 ![]() |
Bonjour,
Le plus simple est peut-être transformer ton client en appli web qui se connectera à ta base de données. Tu peux avoir une partie IHM avec des pages web consultées par les client et une partie API / web service si nécessaire (si par exemple tu veux continuer d'utiliser ton client). A mon avis le premier choix de framework pour faire de la web app en Python serait Django. |
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 739 ![]() |
Salut,
L'Australie est un pays à 20 000kms de la France. La vitesse de la lumière dans le cuivre et la fibre étant d'environ 200 000kms/s, çà fait un RTT minimal de 0.2 secondes. Un langage de programmation (et n'importe quel framework écrit avec) ne pourra que faire avec cette réalité du monde physique. La vraie question est "quels sont les temps de réponses attendus". Puis, il faudra trouver un design et des allocations de ressources pour y arriver. Exemple: pourquoi avoir une base de donnée centrale plutôt que des bases de données locales mises à jour tous les X secondes? - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Manu Directeur technique Inscription : janvier 2008 Messages : 9 ![]() |
Citation:
En fait, si je ne fais pas directement une page web, c'est parce que depuis le client, les utilisateurs peuvent lancer des applications tierces, manipuler des fichiers etc. Du coup je ne peux pas faire le truc dans un navigateur. En tout cas ça m'aiguille bien pour déterminer la direction à prendre. Est ce que Django ne va pas être "surdimensionné" au final, puisque je vais juste me servir de lui pour faire passer mes requetes SQL en http ? |
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Manu Directeur technique Inscription : janvier 2008 Messages : 9 ![]() |
Citation:
Je n'ai pas vraiment un besoin énorme de vitesse, mais c'est toujours mieux quand une application est bien réactive. Effectivement, l'idée de "cloner" la base de donnée localement me parait excellente. J'aimerai que mon application soit facilement déployable, et j'ai peur que si il faut installer sur chaque machine client tout le nécessaire à la réalisation de cette idée ça risque d'être assez complexe. Et sinon, existe-t'il déja des systèmes de mirroring de base de données ? |
|
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 739 ![]() |
Salut,
Citation:
Cà passe par des outils comme cx_freeze, vous n'êtes pas à un package prêt. Maintenant si on parle d'un script d'une centaine de lignes utilisant les bibliothèques Python livrées en standard. cx_freeze est surdimensionné et Python aussi. Une petite application +/- HTML5 n'a besoin que de s'assurer de la présence de navigateurs/versions. Citation:
Votre problème n'est pas un problème de codage mais de répartition de la charge entre clients et le service (base de données) qu'ils accèdent via Internet pour assurer des temps de réponses acceptables. Tant que vous ne saurez pas "quantifier" ces temps de réponses (spécifiques à l'application) difficile de mettre en face les avantages/inconvénients de différentes solutions. - W
__________________
Architectures Post-Modernes |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com