Nagy terhelhetőségű szoftverek építése az alapoktól
Egy rendszer nemcsak attól lesz nagy terhelést elbíró, hogy a késleltetése alacsony, az áteresztőképessége pedig nagy – a hibatűrés is elengedhetetlen a megfelelő működéshez. Ismerd meg kurzusunkon azokat a komponenseket, amelyek segítségével jól skálázható, hibatűrő rendszereket építhetsz, és érj el több millió kérést néhány másodperc alatt!
Horváth Gergely
Ex. Google Developer & Engineering Manager,
Technical lead
Hypixel Studios
![](https://robot-site-static.fra1.digitaloceanspaces.com/hu/ckeditor/125-nagy-terhelhetosegu-szoftverek-epitese-az-alapoktol/highload-main.webp)
A KURZUSRÓL
- Kezdés:
AUGUSZTUS 28.
- Hossz:
17 alkalom
- Formátum:
élő, online
Mi történik, ha a bemeneten olyan adatot kapunk, amire nem számítunk? Hogy szolgáljunk ki túlterhelést okozó, de normál ügyfeleket? Mi történik, ha meghibásodik a háttértár? És ha NullPointerExceptiont kér valaki? Egy összetett rendszer tervezésénél rengeteg építőelem közül kell kiválasztanunk a megfelelőket, és integrálni őket olyan módon, hogy a rendszer nagy terhelés alatt, akár évekkel később is jól tudjon teljesíteni. Ezen a kurzuson ezeket az építőelemeket fogjuk megismerni és gyakorlati példákkal, házi feladatokkal kiegészítve tanuljuk meg a használatukat.
KINEK AJÁNLJUK A KURZUST?
MIRE SZÁMÍTHATSZ A KURZUSON?
-
01
ÁTFOGÓ ISMERETEK
Megismerheted azokat az alapelemeket – például a különféle elosztott rendszereket, formátumokat, protokollokat, adatbázisokat – amiknek a használatával komplex, hibatűrő rendszereket lehet építeni.
-
02
GYAKORLATI TUDÁS
Példákon és gyakorlatokon keresztül sajátíthatod el, hogyan használd és integráld a fentebb említett komponenseket úgy, hogy egymást segítsék meghibásodások esetén. Így a kurzus végére nemcsak elméleti tudással, de tapasztalattal is fogsz rendelkezni nagy és hibatűrő rendszerek tervezéséhez, építéséhez, teszteléséhez és felülvizsgálatához.
-
03
VISSZAJELZÉS AZ ELŐADÓTÓL
Személyes visszajelzést kapsz a házi feladatokra és minden szakmai kérdésedre. Az előadó így egyéni útmutatást tud adni neked – legyen a célod akár egy meglévő, komplex rendszer skálázása, az architekti gondolkodásmód elsajátítása vagy éppen a fejlesztőcsapatokkal végzett munka megkönnyítése.
AZ ELŐADÓ
![](https://robot-site-static.fra1.digitaloceanspaces.com/hu/ckeditor/125-nagy-terhelhetosegu-szoftverek-epitese-az-alapoktol/highload-lector.webp)
Horváth Gergely
Ex. Google Developer & Engineering Manager,
Technical lead @ Hypixel Studios
-
A Google-nél a világ legnagyobb rendszereit támogatta, ahol…:
többmilliós kérés/másodperces rendszert felügyelt egyedül, felügyelte és karbantartotta a YouTube-világ legnagyobb egyedi MySQL clusterét, aktív fejlesztője volt a Cloud SQL monolit vezérlőrendszerének és néhány sor Java-kód átírásával több száz TiB RAM-ot és értékes másodperceket spórolt -
Az Amazonnál az egész (AWS és Amazon.com) céges hálózati felügyeletéért felelős csapatban dolgozott, ahol…:
az új adatközpontokért felelt és skálázta a meglévőket, automatizálta egyedi hálózati eszközök telepítését és konfigurálását és foglalkozott fegyverekkel őrzött kormányzati adatközpontokkal. -
Több mint egy évtizede foglalkozik aktívan oktatással és előadásokkal…:
tanársegéd volt a Műegyetemen, Simonyi Károly Szakkollégiumban több csapatot is vezetett, illetve előadó volt a Simonyi konferencián is és elismert nemzetközi Google-oktató volt. -
A Riot Games / Hypixel Studiosnál vezetőként több csapatot is épített…:
jelenleg aktívan mentorál több kollégát is.
Program
-
01 alkalom08.28 18:00-19:30
Bevezetés
- Ismerkedés, programterv, elvárások
- Mit jelent a témakör? Milyen témákat fogunk érinteni?
- Milyen témákat nem fogunk érinteni, amelyekkel egyébként érdemes foglalkozni?
- Milyen kihívásokat jelent a high-load?
- Milyen döntéseket kell meghoznunk a tervezéseknél?
- NALSD
-
02 alkalom09.02 18:00-19:30
Skálázható és hibatűrő rendszerek
- Miért fontos a hibatűrés?
- Függőleges és vízszintes skálázás
- CAP theorem
-
03 alkalom09.04 18:00-19:30
Elosztott rendszerek és terheléselosztás
- Elosztott rendszerek fontossága a terhelés- és hibatűrésben
- Terheléselosztás módjai és kapcsolódó elosztott rendszerek
- Kihívások az elosztott rendszerek építésében
- Példa és gyakorlatok néhány nem elosztott rendszer darabolására
-
04 alkalom09.09 18:00-19:30
Kommunikáció a külvilággal
- Protokollok
- Formátumok
- Összehasonlítások és egyéb megoldások
- Aszinkron kommunikáció
-
05 alkalom09.11 18:00-19:30
Adatbázisok és adattárolás skálázása
- Adatbázis típusok
- Néhány specifikus adatbázis: MariaDB, MongoDB, Cassandra
- Adatok particionálása, normál formák
- Elosztott tárolás, replikáció
- Egyéb tárolási módszerek: data lake, data warehouses és elosztott fájlrendszerek
- Konzisztencia
- Adatbázisok függőleges és vízszintes skálázása
- Monitoring
-
06 alkalom09.16 18:00-19:30
Gyorsítótárak és stratégiák
- Típusok
- Minták
- Érvénytelenítés
- Eltávolítás
- Gyorsítótár frissessége és sebessége
- Elosztott gyorsítótárak
- Kihívások
- Monitoring
-
07 alkalom09.18 18:00-19:30
Üzenetsorok és aszinkron feldolgozás
- Batch és stream feldolgozása
- Map-reduce
- Adatfolyamok és ETL
- Szerepek
-
08 alkalom09.30 18:00-19:30
Microservices
- Monolith vs. Microservices
- Darabolási módszerek
- Skálázhatóság, rugalmasság, karbantartás
- Vízszintes skálázás a microservice-eknél
- Terheléselosztás
- Naplózás és követés
- Biztonság: data protection, authorization, authentication
-
09 alkalom10.02 18:00-19:30
Konzisztencia és konszenzus
- CAP theorem és hatása az elosztott rendszerekre
- Strong, eventual, causal consistency
- Paxos, Raft és egyéb konszenzusmódszerek
- Konszenzus és a hibatűrés
-
10 alkalom10.07 18:00-19:30
Konténerek és koreográfia
- Google Borg és hatása
- Kubernetes, Docker
- Micro OS, Nomad, barebone
- Terraform és hybrid cloud
- Automatikus skálázás
-
11 alkalom10.09 18:00-19:30
Felügyelet, mérőszámok, riasztás
- Naplófájlok, rendszer- és alkalmazásmetrikák
- Valós idejű felügyelet
- Tárolás
- Vizualizációk és műszerfalak
- Riasztási szabályok
- Fals pozitív és fals negatívok
- KPI-ok és teljesítménymetrikák
-
12 alkalom10.14 18:00-19:30
Nagy rendelkezésre állás és katasztrófaelhárítás
- Nagy rendelkezésre állás koncepciók
- Hibatűrő stratégiák
- Katasztrófaelhárítási tervek, megoldások
-
13 alkalom10.16 18:00-19:30
Mentések és stratégiák
- On-line, near-line, off-line
- Depó modellek
- RPO, RTO
- Folyamatok, adatok másolása
- Teljes, részleges, verziókövetés
- Tömörítés, deduplikáció, titkosítás, multiplexing, refactoring, staging (D2D2T)
- Limitáló faktorok: idő, energia, pénz
- Valós idejű és aszinkron replikálás
- Validálás, időzítés, authentikálás, megbízhatóság
-
14 alkalom10.21 18:00-19:30
Teljesítményfelügyelet és optimalizálás
- Szűk keresztmetszetek keresése
- Load-testingOptimalizálási lehetőségek
- Optimalizálási lehetőségek
-
15 alkalom11.04 18:00-19:30
Biztonság a high-load rendszerekben
- Biztonsági kihívások
- Autentikáció és jogosultságok
- Titkosítás és adatvédelem
- Visszatekintés a katasztrófaelhárításra
- Felhőbiztonság
-
16 alkalom11.06 18:00-19:30
Esettanulmányok a high-load rendszerekben
- Elérhető példák átbeszélése
- Mit lehet tanulni a jó és a rossz példákból?
- Team lead nézőpontok
- Vezetői nézőpontok
-
17 alkalom11.11 18:00-19:30
Projektek és összefoglalás
- Résztvevői projektek bemutatása, kérdések
- A legfontosabb pontok összefoglalása
- Milyen irányba érdemes haladni tovább?
- Q&A
TUDJ MEG TÖBBET
A kurzussal kapcsolatos további információkért töltsd ki az űrlapot, és munkatársunk a lehető leghamarabb felveszi veled a kapcsolatot, hogy bővebb tájékoztatást adjon a kurzus részleteiről és áráról.