Platforma
NexusFabric e un proces care primește mesaje, le trece prin fluxuri compilate și le livrează mai departe. Pagina asta descrie cum e așezată, iar capitolele de la final intră în detaliu.
Piesele dintr‑un singur program
Ușa din față, transformarea și rutarea, coada persistentă cu reîncercări și coada de mesaje nelivrate, jurnalul mesajelor și interfața de administrare rulează într-un singur program. Jetoanele vin de la furnizorul dumneavoastră de identitate.
- Ușa din fațăVerifică apelantul înainte de a citi corpul cererii. Închisă implicit.
- Transformarea și rutareaTransformările se compilează la publicare, iar rutarea rulează o singură ramură.
- Coada persistentăReîncercări și coadă moartă, pe un jurnal propriu al cozii: un mesaj confirmat supraviețuiește unei căderi.
- Jurnalul mesajelorPentru fiecare livrare, o înregistrare de primire și exact un verdict.
- Interfața de administrarePagini care răspund fiecărui rol exact cum spune tabelul de roluri.
Furnizorul dumneavoastră de identitate
Rămâne al dumneavoastră, în afara programului.
Fiecare flux e verificat înainte să primească trafic
Un flux e un fișier Markdown, cu antet și pași. Îl validați din linia de comandă și îl publicați. Publicarea îl compilează într-un artefact identificat prin amprenta lui; ce nu se compilează nu ajunge la rulare.
Se verifică la publicare:
- Structura fluxului și forma blocului de rutare.
- Numele fluxurilor, după o singură regulă.
- Șabloanele: cheile de credențiale și anteturile de ieșire.
- Transformările: un XSLT în afara subsetului acceptat e refuzat, nu executat altfel.
- Versiunea SOAP: orice în afară de 1.1 și 1.2 e refuzat.
La rulare preiau gardurile fluxului: validate refuză explicit un mesaj, la prima regulă falsă, iar condition filtrează tăcut.
Deduplicarea, declarată o dată, aplicată oricum ar sosi mesajul
Deduplicarea o declarați o singură dată, în flux. Fie că mesajul vine apoi prin HTTP sincron, prin coadă, prin programare temporală sau prin ușa gRPC, intră prin aceeași paranteză de livrare, unde se decid deduplicarea, corelarea și memoizarea răspunsului: un singur loc, nu patru copii care pot ajunge să difere. Coada intră în paranteză la lucrător, nu la predare.
| Ușa | Control de acces | Unde se citește în jurnal |
|---|---|---|
| HTTP sincron | Același | Canal http |
| Coadă | Același | Canal queue |
| Programare temporală | Nu se aplică: declanșarea e internă | Canal cron |
| gRPC | Același | Canal grpc |
Unitatea măsurată e livrarea, nu cererea: o livrare lasă în jurnal o intrare de primire și exact un verdict. Pe ce ușă a intrat se citește dintr-o coloană dedicată, nu din felul evenimentului.
Un singur proprietar al execuției
Execuția are un singur proprietar în proces. Când instalația e la capacitate, refuzul e zgomotos: un apel sincron e refuzat, iar jurnalul primește un fel de refuz distinct de o eroare de flux. La ușa cozii, mesajul e totuși acceptat și așteaptă pe disc; se refuză doar pornirea lucrătorului ei. Refuzul la capacitate și cel pentru o cerere care n-are ce livra rămân în afara ratei de eroare a fluxurilor.
Instalarea și configurarea
O instalație pornește știind numai manualul de operare: primul flux rulează cu poarta închisă și cu configurarea luată din mediu, în imaginea livrată.
Configurarea de mediu se declară în flux. Un flux publicat care cere o cheie pe care instalația nu o oferă oprește pornirea, cu fluxul, cheia și variabila numite. Lipsa se vede la pornire, nu la primul mesaj din producție.
Mai multe motoare, fără cluster de administrat
Porniți același program din nou, peste același director de stare. Lacătele de fișier sunt singurul lucru care coordonează copiile.
Platforma, pe capitole
- ArhitecturăDe ce un singur program: ce rulează în el și ce rămâne al dumneavoastră.
- Poarta de accesCine are voie să intre, cu ce credențială, și ce vede un apelant refuzat.
- ProtocoaleHTTP, gRPC, SOAP la intrare și la ieșire, plus plafonul unui mesaj.
- Interoperabilitate tehnicăSOAP, WSDL și gRPC: unde se termină protocolul și unde începe fluxul.
- ConectoriMesaje care nu vin pe HTTP: o coadă JMS și un director de fișiere.
- TransformăriLimbajul de fluxuri, gardurile, rutarea, bibliotecile și refuzurile de la publicare.
- ObservabilitateUnitatea măsurată, verdictul, retenția și interfața de administrare.
- OperareCe deține procesul care rulează, și ce cere o repornire.
- SecuritatePoarta închisă implicit, tenantul, rolurile și ce nu ajunge într-un mesaj de eroare.