MagLab / Studije slučaja / Platforma pod velikim opterećenjem

Deset mikroservisa, terabajt dnevno i jedinstveni izvor istine

Platforma pod velikim opterećenjem: konsalting, procena i implementacija.

Platforma je od monolita prerasla u deset servisa, a svaki je radio po svom rasporedu. Podaci su se gubili i duplirali, a do izveštaja su stizali sa danom-dva zakašnjenja. Preuredili smo je u jedan tok: događaji danonoćno teku u jednu bazu.

Servisi na šipkama upisuju u jedan dnevnik događaja sa ćilibarskim prozorom

Ukratko

Klijent
Produktna kompanija sa platformom od deset servisa. Ime klijenta ne otkrivamo.
Tehnologije
Apache Kafka, Apache Spark, Kubernetes, Elasticsearch, Grafana i Docker.

Šta je to

Platforma pod velikim opterećenjem: terabajt podataka dnevno i hiljadu zahteva u sekundi.

Naša uloga

Konsalting, procena i implementacija: analizirali smo sistem, projektovali arhitekturu i uveli je zajedno s timovima kompanije.

Najvažnije

  1. Rezultat

    Izveštaji za 1-2 sata, a ne za dva dana

    Uz terabajt podataka dnevno i hiljadu zahteva u sekundi.

  2. Rešenje

    Bez gubitaka i bez duplikata

    Jedan tok događaja i jedna baza - jedinstveni izvor istine za sve podatke.

  3. Obim

    Došli smo zbog jednog servisa - preuredili smo celu platformu

    Počeli smo od jednog mikroservisa, a uzrok pronašli u načinu na koji je napravljeno svih deset.

Kako je tekao projekat

Ušli smo u sistem koji radi, rastavili ga do kraja i preuredili zajedno s timovima kompanije.

  1. 01Ulazak

    Jedan servis i pitanje: gde nestaju podaci

    Došli smo da preuzmemo jedan mikroservis. Da bismo shvatili otkud razlike u izveštajima, rastavili smo ceo proizvod: deset servisa, svaki sa svojim rasporedom i svojom kopijom podataka.

  2. 02Dijagnoza

    Problem nije u servisu, nego u arhitekturi celog sistema

    Uzrok je bio zajednički: konzistentnost podataka i brzina obrade. Kopije istih podataka su se razilazile i zauzimale prostor, a izveštaji su na podatke čekali i do dva dana.

  3. 03Rešenje

    Jedinstveni izvor istine

    Predložili smo arhitekturu sa jednim tokom događaja i jednom bazom: svaki događaj se upisuje jednom, a svi servisi ga uzimaju sa istog mesta. Rešenje je prošlo arhitektonski komitet kompanije.

    Odbacili smozasebne rasporede svakog servisa i kopije podataka između njih.

  4. 04Implementacija

    Preuredili smo sistem zajedno s timovima

    Uvodili smo ga zajedno s timovima kompanije: Kafka prenosi događaje, Spark ih obrađuje, Kubernetes podnosi opterećenje. Sada događaji teku danonoćno, bez kopija i gubitaka.

Hajde da razgovaramo o tome kako možemo da pomognemo vašem biznisu

Pišite nam