GraphQL-API's met Spring Boot · Les

Kennismaken met Apollo Federation

Begrijp de concepten van GraphQL Federation, de voordelen ervan voor microservicearchitecturen en de verschillen met schema stitching.

Les 1 van 412 stappen

Kennismaken met Apollo Federation is een gratis GraphQL-API's met Spring Boot-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject GraphQL-API's met Spring Boot. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus GraphQL-API's met Spring Boot bevat in totaal 4 lessen.

Kennismaking met Federation

Welkom bij Apollo Federation! Deze krachtige architectuur helpt je één uniforme GraphQL-API op te bouwen uit meerdere onafhankelijke microservices.

Stel je voor dat je veel kleine services hebt die elk verantwoordelijk zijn voor een deel van je toepassing. Met Federation kunnen ze allemaal bijdragen aan één groot GraphQL-schema.

De uitdaging van microservices

In een microservicearchitectuur beheren verschillende teams vaak afzonderlijke backendservices. Hoe bied je dan een samenhangende GraphQL-API aan?

  • Monolithische GraphQL: één grote server die moeilijk te schalen is voor grote teams.
  • Meerdere GraphQL-eindpunten: clients moeten verschillende services bevragen, waardoor de complexiteit toeneemt.

Federation biedt een overzichtelijke oplossing voor deze uitdaging.

Een gedistribueerd schema

Het kernidee van Federation is dat verschillende services, die deelgrafen worden genoemd, elk een deel van je volledige GraphQL-schema kunnen definiëren.

Deze delen worden door een centrale gateway samengevoegd tot één uniforme graaf. Het is alsof veel bijdragers aan één gedeelde blauwdruk werken.

Gateway en deelgrafen

Apollo Federation bestaat uit twee belangrijke architectuurcomponenten:

  • Gateway: dit is het toegangspunt voor alle aanvragen van clients. De gateway kent al je deelgrafen en weet hoe query's moeten worden gerouteerd.
  • Deelgrafen: dit zijn je afzonderlijke microservices. Elke deelgraaf implementeert een specifiek deel van het GraphQL-schema en levert gegevens voor zijn domein.

Hoe een federatieve query werkt

Wanneer een client een GraphQL-query naar de gateway stuurt, verloopt dit vereenvoudigd als volgt:

  1. De gateway ontvangt de query.
  2. De gateway analyseert welke deelgrafen nodig zijn om aan de aanvraag te voldoen.
  3. De gateway splitst de query op en stuurt specifieke delen naar de relevante deelgrafen.
  4. Daarna voegt de gateway de resultaten van alle deelgrafen samen tot één antwoord voor de client.

Waarom Federation gebruiken?

Federation biedt belangrijke voordelen voor grote, voortdurend veranderende systemen:

  • Schaalbaarheid: teams kunnen deelgrafen onafhankelijk ontwikkelen en implementeren.
  • Ontkoppeling: services blijven autonoom, waardoor afhankelijkheden tussen services afnemen.
  • Uniforme API: clients krijgen één consistent GraphQL-eindpunt.
  • Sterke typeveiligheid: de volledige graaf is sterk getypeerd, ook tussen services.

Federation versus Schema Stitching (deel 1)

Misschien heb je gehoord van Schema Stitching, een andere manier om GraphQL-API's te combineren. Waarin verschilt Federation?

Bij Stitching worden afzonderlijke schema's bij de gateway gecombineerd, maar de deelschema's zijn vaak niet op de hoogte van elkaar. Het lijkt meer op het samenvoegen van afzonderlijke documenten.

Federation bevordert een echt gedistribueerde graaf waarin deelgrafen expliciet samenwerken en gedeelde typen uitbreiden.

Federation versus Schema Stitching (deel 2)

Het uitvoeringsmodel is nog een belangrijk verschil:

  • Stitching: de gateway kan gegevens uit de ene service ophalen, daarna uit een andere service, en deze handmatig combineren. Dat kan leiden tot minder geoptimaliseerd ophalen van gegevens.
  • Federation: de gateway begrijpt de relaties tussen typen in verschillende deelgrafen. De gateway kan op intelligente wijze efficiënte query's plannen en alleen de benodigde gegevens uit elke service ophalen.

Wanneer kies je voor Apollo Federation?

Federation is bijzonder geschikt voor:

  • Grote organisaties met veel ontwikkelingsteams.
  • Complexe microservicearchitecturen die een uniforme API nodig hebben.
  • Situaties waarin je na verloop van tijd een enkele, evoluerende GraphQL-graaf wilt aanbieden.

Voor een kleinere, eenvoudigere toepassing kan één GraphQL-server voldoende zijn.

Federation in Spring Boot

Wanneer je federatieve deelgrafen bouwt met Spring Boot, definieer je je GraphQL-typen zoals gewoonlijk. Je gebruikt daarnaast specifieke Federation-directieven.

De belangrijkste is @key, die de primaire sleutel van een entiteit in verschillende deelgrafen identificeert. Hierdoor kan de gateway relaties begrijpen en oplossen.

Test je begrip

Laten we controleren of je de kernconcepten begrijpt.

Samenvatting en volgende stappen

Goed gedaan! In deze les hebben we Apollo Federation geïntroduceerd, een krachtige aanpak om met meerdere microservices één uniforme GraphQL-API te bouwen.

  • We hebben de rollen van de gateway en deelgrafen behandeld.
  • We hebben onderzocht hoe Federation een gedistribueerd schema en efficiënte uitvoering van query's mogelijk maakt.
  • Ook hebben we gezien waarin Federation verschilt van Schema Stitching.

Vervolgens gaan we aan de slag met het bouwen van je eerste federatieve deelgrafen met Spring Boot!

Gratis beginnen

Leer GraphQL-API's met Spring Boot met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Kennismaken met Apollo Federation” gratis?

Ja — de volledige tekst van “Kennismaken met Apollo Federation” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus GraphQL-API's met Spring Boot wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus GraphQL-API's met Spring Boot bevat in totaal 4 lessen.

Wat leer ik in “Kennismaken met Apollo Federation”?

Begrijp de concepten van GraphQL Federation, de voordelen ervan voor microservicearchitecturen en de verschillen met schema stitching. Je oefent met GraphQL-API's met Spring Boot door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met GraphQL-API's met Spring Boot te beginnen?

Ervaring vooraf is niet nodig. GraphQL-API's met Spring Boot op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Kennismaken met Apollo Federation”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over GraphQL-API's met Spring Boot?

Ja. Elke les over GraphQL-API's met Spring Boot bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Kennismaken met Apollo Federation
  2. Gefedereerde subgraphs bouwen
  3. Gateway instellen en beheren
  4. Entity-referenties en de @key-directive
← Terug naar GraphQL-API's met Spring Boot