Bonjour,
Dans le cadre de la réalisation de mon architecture pour un projet je me pose diverses questions, et j'ai besoin d'avis sur l'architecture à adopter,
et si un environnement cloud est approprié à ce projet, si oui de quel manière étant peu connaisseur sur les environnements cloud
L'appli
L'application doit pouvoir gérer une quantité importante d'information, ces flux de données sont ensuite retravaillés
puis dispatchés à diverses services tiers.
Rien de mieux qu'un petit exemple très bref pour expliquer le fonctionnement :
un client créé un compte,
il met à disposition un flux produit(1000-1000000 d'articles) qui est intégré dans notre système
Via une interface de l'application, le client gère son flux produit et publie celui-ci à diverses services tiers.
L'application intérroge régulièrement les diverses applications externes pour obtenir différentes informations(commandes,présence article).
flux information : articles
service tiers : application tiers non connu du système
Nombre de client : pas de limite
Problèmatique :
Base de données conséquente si l'application héberge plusieurs clients, on ne pas gérer tous ces clients dans une et seul base de données
avec une relation comme ceci :
articleA, id_client
nclient * narticles = ca risque de pas faire l'affaire.
Je pensais donc utiliser pour chaque utilisateur, une base nosql comme mongodb.N'ayant pas d'interaction entre chaque client
et une autre base maitre qui centralise(les comptes clients, facture, etc...).
Donc là ca commence à ce compliquer. Etant donnée que les schémas sont génériques et créé à chaque nouveau client.
Choix technologique:
JBOSS AS 7(container) : JMS, EJB3 entity, EJB3 session avec interface accessible en restful
Base de données : MONGODB pour chaque client, (POSTGRESQL ou MYSQL)pour la base maitre
IHM : full html/javascript
ci-joint à ce message différents schémas possibles, je pense qu'une orientation vers un système cloud est nécessaire,
permettant ainsi de gérer facilement les resources physiques nécessaire selon la quantité d'information par client.
Voilà donc j'aimerais avoir vos avis, quel architecture adopteriez vous? avez vous eu cette même problèmatique?
cloud intéressant? j'ai vu qu'Amazon proposait ce type d'implémentation ou dois je créé un propre système style OpenStack sur un serveur dédié afin de limiter les couts.
Partager