NexusFabricCereți o prezentare

Cazuri de utilizare

Fiecare caz de mai jos are două jumătăți: ce acoperă platforma și ce nu acoperă. A doua jumătate e motivul pentru care pagina merită citită.

Fațadă peste un serviciu vechi

Un serviciu intern răspunde într-o formă pe care apelanții noi nu o pot consuma. Fluxul primește cererea nouă, o traduce, apelează serviciul vechi și compune răspunsul.

  • Ce acoperă

    Statusul backendului poate deveni statusul răspunsului, declarat de flux. Corpul de eroare al backendului e disponibil fluxului, deci o eroare se poate traduce, nu doar propaga. Anteturile răspunsului sunt dictate de flux, iar cele venite de la backend se întorc numai pe listă declarată.

  • Ce nu acoperă

    Dacă serviciul vechi e SOAP și apelantul nou are nevoie de un contract tipizat generat de platformă, contractul publicat e slab tipizat. Asta e o limită, nu o setare.

Primire asincronă cu reîncercări

Un sistem trimite evenimente pe care nu le poate aștepta. Platforma le acceptă, le pune în coadă și le livrează mai departe, cu reîncercări.

  • Ce acoperă

    Coada are jurnal propriu: un mesaj acceptat supraviețuiește unei căderi, iar o reîncercare programată supraviețuiește unei reporniri. O livrare care iese pe secvența de tratare a erorii nu se comite ca reușită.

  • Ce nu acoperă

    Livrarea e cel puțin o dată, nu exact o dată. Coada nu prioritizează și nu reordonează. Iar o secvență de tratare a erorii care reușește confirmă mesajul, deci dezarmează reîncercarea — dacă vreți ambele, handlerul trebuie să eșueze deliberat.

Cerere acum, răspuns peste ore

Un partener primește o cerere și răspunde mai târziu, pe alt canal. Platforma trebuie să știe la ce se referă răspunsul când sosește.

  • Ce acoperă

    Corelarea cerere/răspuns-întârziat se declară în flux și are termen obligatoriu — o așteptare fără capăt e o scurgere, nu o politică. Termenul depășit e reconciliat, iar așteptările deschise se pot lista din linia de comandă. Deduplicarea declarativă împiedică a doua livrare a aceleiași chei să ruleze din nou fluxul.

  • Ce nu acoperă

    Un răspuns redat dintr-o înregistrare de deduplicare redă corpul și tipul de conținut, nu și anteturile scrise de flux. Iar când un duplicat re-rulează un flux eșuat anterior, efectele deja consumate se repetă.

Integrare între servicii pe gRPC

Două servicii vorbesc gRPC, iar între ele trebuie să stea o traducere, o rutare sau o politică de reîncercare.

  • Ce acoperă

    Ieșirea gRPC lucrează cu descriptori încărcați dinamic, TLS reciproc, o cascadă de adrese și un întrerupător per adresă. Ușa de intrare gRPC rutează apelul prin aceeași poartă și aceeași paranteză de livrare ca ușa HTTP.

  • Ce nu acoperă

    Streamingul e refuzat explicit pe ușa de intrare. Tabela de rutare se construiește la pornire, deci un flux publicat după aceea cere o repornire. O secvență de tratare a erorii nu-și poate livra corpul pe ușa gRPC.

Mai multe organizații pe aceeași instalație

Un furnizor de servicii rulează integrări pentru mai mulți clienți, pe aceeași platformă.

  • Ce acoperă

    Tenantul e entitate înregistrată, creată deliberat; o greșeală de tastare nu devine tenant. O referință de bibliotecă se rezolvă în tenantul apelantului. Un tenant necunoscut și unul dezactivat răspund identic din afară. Interfața are roluri cu frontieră impusă, verificată rută cu rută.

  • Ce nu acoperă

    Tenanții împart o instalație: aceleași motoare, același director de stare, aceeași fereastră de retenție. Plafonul de debit se configurează per credențială, nu per organizație, deci un client cu multe chei se dimensionează cheie cu cheie.

Control al schimbării pe integrări

O echipă vrea ca o integrare greșită să pice la publicare, nu la primul mesaj de luni dimineață.

  • Ce acoperă

    Un XSLT în afara subsetului acceptat, un bloc de rutare cu formă greșită, un nume de flux ilegal sau un status literal invalid sunt refuzuri la publicare. O cheie de configurare declarată pe care instalația nu o oferă oprește pornirea, cu cheia numită.

  • Ce nu acoperă

    Nu există reluare bit-exactă a unei livrări trecute, deci nu se poate rejuca traficul de ieri peste artefactul de azi ca formă de regresie.