Viaduct, fünf Jahre später: Mo... Notiz

Viaduct, fünf Jahre später: Modernisierung des datenorientierten Service Mesh

Viaduct, Airbnbs datenorientiertes Service Mesh, ist jetzt Open Source. In den letzten fünf Jahren ist die Nutzung von Viaduct bei Airbnb erheblich gewachsen, wobei der Datenverkehr um das Achtfache und die Anzahl der Teams um das Doppelte gestiegen ist. Es wird weiterhin von drei Kernprinzipien geleitet: einem zentralen Schema, gehosteter Geschäftslogik und Reentrancy. Das zentrale Schema integriert Daten unternehmensweit und macht Viaduct zu einem zentralen Data Mesh. Das Hosten von Geschäftslogik direkt in Viaduct, ermöglicht durch eine serverlose Plattform, vereinfacht die Abläufe für Entwickler. Reentrancy ermöglicht es der gehosteten Logik, sich über GraphQL-Fragmente und -Abfragen mit anderer Logik zu verbinden und so die Modularität zu erhalten.Eine kürzliche Überarbeitung, "Viaduct Modern", geht frühere Komplexitäten an, indem die entwicklerseitige Tenant-API auf zwei Resolver-Typen vereinfacht wird: Knoten- und Feld-Resolver. Diese Modernisierung führt auch die Tenant-Modularität ein und formalisiert "Tenant-Module" als Einheiten von Schema und Code, die von einem einzelnen Team verwaltet und über GraphQL zusammengesetzt werden. Die Framework-Modularität wurde ebenfalls verbessert, wodurch stärkere Abstraktionsgrenzen zwischen der GraphQL-Ausführungs-Engine, der Tenant-API und dem gehosteten Code geschaffen wurden. Die neue Engine-API ist dynamisch typisiert, während die Tenant-API statisch typisiert ist, was eine unabhängige Weiterentwicklung ermöglicht.Viaduct bietet eine schrittweise Migration, indem sowohl die Classic- als auch die Modern-Tenant-APIs gleichzeitig auf der neuen Engine ausgeführt werden. Weitere Verbesserungen umfassen eine verbesserte Beobachtbarkeit, schnellere Build-Zeiten durch Schema-First-Entwicklung und Direkt-zu-Bytecode-Generierung sowie einen Dispatcher für Kubernetes-Skalierung und die Eindämmung des Explosionsradius. Airbnb stellt Viaduct Open Source zur Verfügung, um von Beiträgen der Community zu profitieren, und ist der Ansicht, dass es sowohl für groß angelegte als auch für neu entstehende GraphQL-Projekte wertvoll sein kann. Die Modern-API befindet sich derzeit in der Alpha-Phase, aber die neue Engine ist voll produktiv.
CdXz5zHNQW_Ry0cTKX3TG.jpeg