What is Viaduct?
mainViaduct is a multi-tenant GraphQL server designed to act as a data-oriented service mesh. It allows multiple independent teams to contribute their own schemas and resolvers (known as "tenant modules") which are then composed into a single, unified global schema served by a single runtime.
Key benefits include:
- Unified Interface: Provides a single GraphQL entry point for accessing diverse data sources.
- Data-Centric Architecture: Organizes service interactions around data rather than remote procedure calls (RPCs), helping to avoid complex microservice dependency graphs.
- Decentralized Ownership: Teams maintain their own data and logic via tenant modules, while the system provides a consistent global schema.
- Separation of Concerns: The architecture maintains clear boundaries between the GraphQL execution engine, the tenant developer API, and the hosted application code.