Om mikrodienste te verstaan, help dit om eers te verstaan waarvoor hulle 'n alternatief is: die "monoliet."
'n Monolitiese toepassing word gebou as 'n enkele, eenvormige kodebasis — rekeninge, betalings, kennisgewings, soek, alles in een ontplooibare eenheid. Eenvoudig vroeg aan, maar alles raak nou gekoppel soos dit groei.
Sommige van die grootste tegnologieplatforms in die wêreld laat duisende onafhanklike mikrodienste saam werk, elkeen onderhou deur 'n ander klein span.
Met mikrodienste word daardie selfde toepassing opgebreek in afsonderlike, onafhanklik ontplooibare dienste, elkeen met sy eie kodebasis, wat deur API's kommunikeer. Elkeen kan onafhanklik opgedateer of geskaal word.
Mikrodienste los werklike probleme op by skaal, maar bring werklike kompleksiteit in: meer bewegende dele om te monitor, meer netwerkoproepe, meer koördinasie benodig. Dit is waarom hulle geneig is om sin te maak vir groter, meer volwasse produkte.
NOXEL SEO, Forge, en Nexus werk reeds as afsonderlike, onafhanklike produkte gekoppel deur skoon API's — dieselfde beginsel agter mikrodienste, toegepas op die produkvlak.
Begin met 'n goed georganiseerde monoliet. Splits 'n mikrodiens slegs uit wanneer jy 'n duidelike, spesifieke rede het — 'n deel van die stelsel wat onafhanklik moet skaal.
Nee. Mikrodienste voeg werklike operasionele kompleksiteit by. Vir klein produkte is 'n goed georganiseerde monoliet dikwels vinniger om te bou en te onderhou.
Nie noodwendig nie. Baie produkte skaal tot beduidende grootte op 'n monoliet voordat mikrodienste werklik nodig word.
Gewoonlik deur API's — tipies REST of boodskaptoue — dieselfde kernkonsep as eksterne API's, intern toegepas.
'n Enkele, eenvormige toepassingskodebasis waar alle kenmerke saam as een eenheid gebou en ontplooi word.
Ja — Netflix is een van die mees algemeen aangehaalde voorbeelde van 'n grootskaalse mikrodienstargitektuur, wat honderde onafhanklike dienste laat loop.
'n Enkele toegangspunt wat inkomende versoeke na die korrekte mikrodiens lei, en dikwels ook outentisering en koersbeperking hanteer.
Dit is moontlik maar gewoonlik nie aanbeveel nie — die bygevoegde kompleksiteit neig om vroeë-fase spanne meer te vertraag as wat dit help.
In die ideale geval word slegs daardie spesifieke kenmerk geaffekteer terwyl die res van die stelsel aanhou werk — 'n sleutelvoordeel bo 'n monoliet wat geheel en al misluk.
Sien onafhanklike, API-gekoppelde produkte in aksie.
Verken die NOXEL360 Paneelbord →