Pour les personnes qui divisent des applications monolithiques en microservices, comment gérez-vous le connundrum de la séparation de la base de données. Les applications typiques sur lesquelles j'ai travaillé font beaucoup d'intégration de base de données pour des raisons de performances et de simplicité.
Si vous avez deux tables qui sont logiquement distinctes (contextes limités si vous voulez) mais que vous effectuez souvent un traitement agrégé sur un grand volume de ces données, alors dans le monolithe, vous êtes plus que susceptible d'éviter l'orientation des objets et utilisez à la place la norme de votre base de données. JOIN pour traiter les données de la base de données avant de renvoyer la vue agrégée à votre niveau d'application.
Comment justifiez-vous la division de ces données en microservices où vous devrez vraisemblablement «joindre» les données via une API plutôt que dans la base de données.
J'ai lu le livre Microservices de Sam Newman et dans le chapitre sur la division du monolithe, il donne un exemple de "Breaking Foreign Key Relationships" où il reconnaît que faire une jointure à travers une API va être plus lent - mais il continue en disant si votre application est de toute façon assez rapide, est-ce que c'est plus lent qu'avant?
Cela semble un peu désinvolte? Quelles sont les expériences des gens? Quelles techniques avez-vous utilisées pour que les jointures d'API fonctionnent de manière acceptable?