Esinduslik tarnemuster

Andmesisestus- ja parsermootorid: süsteemide ehitamine, mis tõrguvad turvaliselt.

See on esinduslik tarnemuster, mis on koostatud tegelike projektide põhjal ettevõtetega, kes sõltuvad igapäevastest tarnijavoogudest, partnerite failiedastustest ja operatiivandmete sisestamisest. Konkreetset klienti ei avaldata. Insenertehniline muster on tegelik.

01

Miks seda tüüpi süsteem on keeruline

Failipõhised andmevood näevad lihtsad välja, kuni need kohtuvad tegelike partneritega. Failid saabuvad hilja. Skeemid triivivad ette teatamata. Tarnija hakkab saatma uut veergu, või lõpetab ühe saatmise, või muudab kodeeringut. Edastus lõpeb, kuid fail on null baiti. Töö töötleb faili kaks korda, sest kordus ei olnud idempotentne.

Liituv probleem on see, et enamik naiivseid teostusi käsitleb halbu andmeid erandjuhtumina. Praktikas on halvad andmed igapäevane sündmus. Süsteemid, mis ei ole selleks kavandatud, tõrguvad vaikselt, ja ettevõte avastab probleemi järgneva mõju — vale aruande, puuduva kirje, partneri kaebuse — mitte süsteemi hoiatuse kaudu.

  • Skeemi triiv ja vorminguüllatused tarnija failiuuendustest
  • Vaiksed tõrked: failid töödeldakse, kuid kirjed kukutatakse ilma hoiatuseta
  • Dubleeritud andmed kordusel, sest töid ei kavandatud idempotentseks
  • Nähtavuse puudumine selle kohta, millised kirjed lükati tagasi ja miks
02

Operatiivsed riskid, kui need jäävad lahendamata

Parsermootor, mis neelab halbu andmeid neid karantiini panemata, rikub järgnevad operatsioonid. Finantsaruanded, operatiivtöölauad ja võrdlusväljundid sõltuvad kõik sellest, et andmed oleksid täielikud ja kehtivad. Kui parser tõrgub vaikselt, avastatakse rikutus sageli päevi hiljem — täpselt valel hetkel.

Korduse probleem on sama tõsine. Ilma idempotentsuseta ei ole ebaõnnestunud töö uuesti käivitamine turvaline. Meeskonnad, kes ei saa turvaliselt korrata, uurivad iga osalist tõrget käsitsi, selle asemel et töö lihtsalt uuesti käivitada.

03

Süsteemne lähenemine

Karmon kavandab parsermootoreid eraldiseisvate etappide konveieritena, mitte ühe funktsioonina, mis loeb faili ja kirjutab andmebaasi. Igal etapil — sisestus, valideerimine, teisendamine, salvestus, aruandlus — on selge sisendileping, selge väljundileping ja oma staatusekirje. See eraldatus on see, mis muudab tõrke ohjatavaks ja silutavaks.

Valideerimine toimub kirjepõhiselt. Halvad kirjed pannakse karantiini inimloetava põhjusega, mitte ei kukutata vaikselt ega lasta kogu partiid katkestada. Kehtivad kirjed jätkavad töötlemist. Karantiinis olevad kirjed on nähtavad, päritavad ja korduvalt töödeldavad, kui lähteprobleem on parandatud. Selle lähenemise disainipõhimõtteid käsitletakse põhjalikult artiklis parsermootorite kavandamine, mis tõrguvad turvaliselt.

  • Etapiviisiline konveier: sisestus → valideerimine → teisendamine → salvestus → aruandlus, igaüks iseseisvalt jälgitav
  • Kirjepõhine valideerimine karantiini ja inimloetavate tagasilükkamise põhjustega
  • Idempotentsuse võtmed, mis on tuletatud lähteandmetest, et faile saaks turvaliselt korrata ilma duplikaate tekitamata
  • SFTP-edastuse haldus: ettevalmistus, kontrollsumma verifitseerimine, osalise edastuse tuvastamine
  • Töötaseme aruandlus: vastuvõetud arv, tagasilükatud arv, puuduvad failid, skeemitriivi hoiatused
  • Võrdlemine oodatud failigraafikute ja oodatud kirjemahtude vastu
04

Tarnemuster

Esimene tarne on tavaliselt karastatud sisestuskiht: usaldusväärne edastus, kontrollsumma verifitseerimine ja töö-staatuse salvestamine. See üksi kõrvaldab vaiksete tõrgete klassi, millega meeskonnad on aastaid koos elanud.

Valideerimine ja karantiin järgnevad, seejärel idempotentsus, seejärel operatiivtöölauad. Iga juurdekasv on juurutatav. Olemasolev töötlemine jätkub, kuni uus konveier on end tegelikel andmetel tõestanud.

05

Mis ettevõtte jaoks muutub

Operatsioonimeeskonnad lakkavad avastamast andmeprobleeme aruannetest ja hakkavad neid avastama töölaudadelt. Tagasilükatud kirjetel on selgitused. Puuduvad failid käivitavad hoiatused. Ebaõnnestunud partii uuesti käivitamine on ühe klõpsu toiming, mitte käsitsi uurimine.

Insenerimeeskond saab süsteemi, mida saab laiendada, kui tarnijate vormingud muutuvad — sest vormingu leping on selge ja vormingu muutused tekitavad valideerimistõrkeid, mitte vaikset rikkumist.

  • Andmekvaliteedi probleemid tulevad nähtavale samal päeval, mitte päevi hiljem
  • Kordus on turvaline: töö uuesti käivitamine annab õige tulemuse, mitte duplikaate
  • Tagasilükatud kirjed on nähtavad, päritavad ja parandatavad ilma inseneri sekkumiseta
  • Uut tarnijavoogu saab kasutusele võtta ilma konveierit nullist uuesti ehitamata
06

Märgid, et see kehtib sinu kohta

See tarnemuster on asjakohane, kui su ettevõte sõltub igapäevastest või päevasisestest andmefailidest tarnijatelt või partneritelt ning mõni järgnevatest vastab tõele: sul on olnud andmekvaliteedi probleem, mis avastati järgnevas etapis; sa ei saa ebaõnnestunud tööd turvaliselt uuesti käivitada ilma käsitsi puhastamiseta; sa ei tea, mitu kirjet eilses impordis tagasi lükati; või su SFTP-tööd on skriptid, mis on aja jooksul kasvanud ja mida keegi ei taha puudutada.

  • Su igapäevane imporditöö töötleb mõnikord vaikselt vähem kirjeid kui oodatud
  • Tarnija muutis oma failivormingut ja diagnoosimine võttis päevi
  • Ebaõnnestunud töö kordamine nõuab kõigepealt käsitsi tabeli puhastamist
  • Sul puudub hoiatus, kui oodatud fail ei saabu

Kas tundsid mustri ära?

Loe Karmoni teenuste täisvalikust või broneeri otse tutvumiskõne.

Broneeri tutvumiskõne