Grunnleggende om Schema Stitching
Utforsk prinsippene for Schema Stitching for å sette sammen et enhetlig GraphQL-API fra ulike tjenester.
Grunnleggende om Schema Stitching er en gratis leksjon i GraphQL-API-er med Spring Boot på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i GraphQL-API-er med Spring Boot, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i GraphQL-API-er med Spring Boot inneholder totalt 4 leksjoner.
Schema Stitching: Samle API-ene
Se for Dem at De har flere GraphQL-tjenester, kanskje fra ulike team eller til og med basert på ulike backend-teknologier. Hvordan presenterer De dem som ett samlet API for frontend-løsningen? Det er her Schema Stitching kommer inn!
Det lar Dem kombinere flere uavhengige GraphQL-skjemaer til ett samlet gateway-skjema.
Bryte ned monolitten
I store applikasjoner kan ett enkelt, omfattende API (en «monolitt») bli vanskelig å administrere. Ulike team kan komme i veien for hverandre, og utrullinger blir risikable.
- Langsom utvikling: Endringer påvirker hele systemet.
- Utrullingsrisiko: En feil i én del kan føre til at alt slutter å fungere.
- Skaleringsproblemer: Det er vanskelig å skalere bestemte deler uavhengig av hverandre.
GraphQL i en mikrotjenesteverden
Mikrotjenester deler opp en applikasjon i mindre, uavhengige tjenester. Hver tjeneste kan ha egne data og et eget API.
Når hver mikrotjeneste eksponerer sitt eget GraphQL-skjema, må klientene kjenne til og spørre mot flere endepunkter. Dette gjør frontend-løsningen mer kompleks.
Schema Stitching og Federation: En rask sammenligning
De har kanskje også hørt om GraphQL Federation. Selv om begge teknologiene samler API-er, gjør de det på ulike måter.
- Stitching: Kombinerer eksisterende skjemaer og er ofte ideelt for integrering av eldre eller tredjeparts-API-er.
- Federation: Er laget for å bygge nye mikrotjenester fra grunnen av, der hver tjeneste bidrar med deler av én samlet graf.
Denne leksjonen fokuserer på Schema Stitching.
Slik fungerer Schema Stitching: En oversikt
Tenk på en «stitching-gateway» eller «API-gateway». Denne gatewayen fungerer som ett enkelt inngangspunkt for klienter.
Den henter skjemaer fra individuelle backend-tjenester (kalt «delskjemaer») og kombinerer dem deretter til ett «samlet skjema» som klientene samhandler med. Gatewayen videresender så spørringene til riktig delskjema.
Se for Dem delskjemaer
La oss si at vi har to tjenester:
- Brukertjeneste: Administrerer brukerprofiler.
- Produkttjeneste: Administrerer produktoppføringer.
Hver tjeneste eksponerer sitt eget GraphQL-skjema:
# User Service Schema
type Query {
user(id: ID!): User
}
type User {
id: ID!
name: String
email: String
}
# Product Service Schema
type Query {
product(id: ID!): Product
}
type Product {
id: ID!
name: String
price: Float
}Kombinere Query- og Mutation-typene
Stitching-gatewayen slår sammen rot-typene Query og Mutation fra alle delskjemaene til én enkelt rot-type Query og Mutation i det samlede skjemaet.
Dermed kan en klient spørre etter user(id: "1") OG product(id: "101") fra det samme endepunktet.
Koble sammen relaterte data
Hva om en User trenger å kjenne til Product-bestillingene sine? Schema Stitching lar Dem utvide typer. Produkttjenesten kan for eksempel utvide User-typen med et orders-felt.
Gatewayen håndterer dette ved først å spørre brukertjenesten etter brukeren og deretter bruke brukerens ID til å spørre produkttjenesten etter bestillingene.
Derfor er Schema Stitching nyttig
Schema Stitching har flere fordeler:
- Samlet API: Ett endepunkt for alle tjenestene.
- Modularitet: Team kan bygge og rulle ut tjenester uavhengig av hverandre.
- Fleksibilitet: Det er enkelt å integrere tredjeparts-API-er eller eldre systemer.
- Enklere frontend: Klientene trenger ikke å kjenne til grensene mellom backend-tjenestene.
Kontroll av grunnleggende Schema Stitching
De har lært de viktigste konseptene i GraphQL Schema Stitching. La oss teste forståelsen Deres!
Oppsummering av det vi har lært
I denne leksjonen utforsket vi Schema Stitching, en effektiv teknikk for å kombinere flere GraphQL-API-er til én samlet API-gateway. Vi så hvordan dette gjør det enklere å administrere mikrotjenester og forenkler klientopplevelsen ved å tilby ett endepunkt for ulike datakilder.
Deretter skal vi se nærmere på den praktiske implementeringen av sammenslåing av flere GraphQL-skjemaer i et Spring Boot-miljø.
Lær deg GraphQL-API-er med Spring Boot med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Grunnleggende om Schema Stitching» gratis?
Ja – hele teksten i «Grunnleggende om Schema Stitching» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av GraphQL-API-er med Spring Boot-kurset, kan du oppgradere til CoddyKit PRO. Kurset i GraphQL-API-er med Spring Boot inneholder totalt 4 leksjoner.
Hva lærer jeg i «Grunnleggende om Schema Stitching»?
Utforsk prinsippene for Schema Stitching for å sette sammen et enhetlig GraphQL-API fra ulike tjenester. Du øver på GraphQL-API-er med Spring Boot med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med GraphQL-API-er med Spring Boot?
Ingen tidligere erfaring er nødvendig. GraphQL-API-er med Spring Boot på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Grunnleggende om Schema Stitching»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne GraphQL-API-er med Spring Boot-leksjonen?
Ja. Alle GraphQL-API-er med Spring Boot-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Oppretting av egendefinerte direktiver
- Grunnleggende om Schema Stitching
- Sammenslåing av flere GraphQL-skjemaer
- Modularisering av skjemaer med typeutvidelser