La mienne n'est pas vraiment une question, c'est plutôt un appel à l'opinion - et ce n'est peut-être même pas le bon endroit pour le publier. Néanmoins, la communauté ici est très informée, et il n'y a pas de mal à essayer ...Ruminations sur des architectures côté serveur distribuées hautement évolutives et modulaires
Je pensais à des façons de créer une architecture back-end hautement modulaire et, surtout, hautement modulaire. Par exemple, un écosystème dorsal complet pour un grand site qui pouvait potentiellement évoluer dans un site massif. Cela impliquerait un très haut degré de séparation des préoccupations, dans la mesure où non seulement la base de données pourrait être remplacée (par exemple d'Oracle à MySQL), mais la base de données pourrait être remplacée (ed SQL à KV, ou vice versa).
J'envisage une situation où chaque sous-système expose sa propre API dans l'écosystème dorsal. De cette façon, l'API pourrait rester constante, tandis que la mise en œuvre pourrait changer (même radicalement) au fil du temps.
Le système doit être hétérogène en ce sens qu'il n'est pas lié à un langage spécifique. Il doit pouvoir accueillir des modules ou des sous-systèmes entiers utilisant des langues différentes.
Il m'est alors apparu que ce que j'imaginais était simplement l'architecture de la toile elle-même. Voici donc mon point de discussion: outre l'utilisation de protocoles (principalement) textuels, il existe une raison impérieuse pour laquelle une architecture back-end complexe ne devrait pas être implémentée de la manière que je décris, ou y a-t-il Pourquoi ne pas utiliser des protocoles de communication tels que Twisted, AMQP, Thrift, etc.? A la suite d'un commentaire de @meagar, je devrais peut-être reformuler la question: les avantages évidents d'utiliser une architecture très simple, flexible et bien comprise (c'est-à-dire toutes les fonctionnalités exposées en tant qu'API RESTful) suffisent-ils à compenser la baisse de performance évidente encourue lors de l'utilisation de cette architecture dans un contexte back-end?
Semble massif [effet de plateforme interne] (http://en.wikipedia.org/wiki/Inner-platform_effect). Pourquoi auriez-vous besoin de cela? Quel problème ce système massivement complexe a-t-il résolu? Qu'est-ce que cela fournit que vous ne pouvez pas sortir d'une pile LAMP traditionnelle? – meagar
Merci pour votre commentaire @meager. Si quelque chose je dirais que c'était l'exact opposé de l'effet de plate-forme interne. En d'autres termes, utilisez l'architecture Web existante pour gérer le back-end aussi. Cela dit, j'ai mis à jour ma question pour prendre en compte votre commentaire. –