Apprivoiser l'architecture ori... Note

Apprivoiser l'architecture orientée services grâce à un maillage de services axé sur les données

Airbnb a développé Viaduct, un service mesh axé sur les données, pour améliorer la modularité de son architecture basée sur les microservices. Les service meshes traditionnels sont orientés procédure, tandis que Viaduct se concentre sur les données, en utilisant un schéma GraphQL comme principe d'organisation central. Ce schéma définit les types, les requêtes et les mutations, en abstraisant les dépendances des services des consommateurs. Viaduct permet aux consommateurs de données d'accéder aux informations de plusieurs microservices sans dépendances directes, simplifiant ainsi l'architecture. Le schéma central facilite les changements d'API et de schéma de base de données, améliorant l'agilité des données et réduisant les efforts de coordination. Viaduct intègre des fonctions serverless pour les données dérivées, minimisant le nombre et la complexité des microservices. Le système, construit avec graphql-java, offre des fonctionnalités telles que la sélection de champs précis, l'observabilité des données et la mise en cache intra-requête. Il tire parti des outils de l'écosystème GraphQL et alimente une part importante du trafic API d'Airbnb. Viaduct répond aux défis liés aux graphes de dépendances en forme de spaghetti prévalant dans les grandes architectures orientées services. Le passage à une approche axée sur les données vise à rationaliser l'accès aux données et à améliorer la maintenabilité globale du système. L'architecture a commencé avec un schéma propre et a évolué pour inclure de nombreuses entités de base. La solution, déjà déployée en production, illustre l'engagement d'Airbnb à faire évoluer son SOA.
CdXz5zHNQW_YzRZpul0zT.jpeg