Během prvního dne QCon San Francisco 2023, Surabhi Dewan, senior softwarový inženýr ve společnosti Netflix, přednesl prezentaci o správě 238 milionů (aktivních) členství v Netflixu. Rozhovor byl součástíArchitektura, o které jste vždy přemýšleli“ cesta.
Diwanova role v Netflixu zahrnuje back-endovou práci pro tým Membership Engineering, který je zásadní jak pro předplatné Netflixu, tak pro streamování. Její tým v Netflixu řeší složité problémy s distribuovanými systémy ve velkém a s vysokou přesností.
Netflix Membership Engineering je odpovědný za stanovení cen předplatného, zdroj pravdy pro všechna členství a správu životního cyklu členství.
Členská architektura navíc podporuje tok předplatných, uplatňuje správný plán založený na předplatném členství, akcích účtu a aktivaci balíčků a je také zodpovědná za architekturu členství.
Diwan ve své přednášce vysvětlila technické možnosti pro členskou strukturu a jak toho dosáhnout tím, že diváky provede cestou předplatného. Když potenciální člen začne vybírat možnosti, plán předplatného atd. Diwan ukázal, co se děje funkčně, a nastínil technickou stopu organické struktury:
- Distribuovaná architektura systému optimalizovaná pro vysoké čtení RPS (požadavek za sekundu)
- Využívá se více než 12 mikroslužeb gPRC (vzdálená volání procedur) na vrstvě HTTP
- Java a Kotlin ve zdrojovém kódu a Netflix Spring Boot, aby to všechno spojily
- Kafkovi za všechny předávání zpráv
- Spark a Flink pro offline normalizaci velkých dat
Technologické možnosti provozu:
- Odlehčete transakce a opakujte zápis, abyste se vyhnuli zranitelnosti jako první linii obrany jejich online systémů
- V rámci celé členské základny se pravidelně spouští několik funkcí sladění, kontrolují anomálie a provádějí automatické opravy
- Více než 100 datových upozornění pro zjištění neshod a neplatného stavu
- „Člověk v pohotovosti“ se podívá na každý poslední záznam a dá ho do dobrého stavu
A nakonec ke sledování:
- Rozsáhlé protokolování chyb a protokolování požadavků/odpovědí v cestách zápisu; Kibana a Elasticsearch to podporují
- Distribuované trasování ve většině jejich mikroslužeb, které pomáhá urychlit problémy způsobující kořeny
- Produkční výstrahy jsou generovány na základě metrik pozorovatelnosti vydávaných všemi aplikacemi, službami a koncovými body
- Spolupracujte s platformovým týmem v Netflixu na nasazení špičkových modelů strojového učení k detekci anomálií v runtime metrikách
Dále se Diwan podíval na tři minulé případy použití, které pomohly utvářet architekturu členství. První případ použití byl Netflix Vývoj cenové technologie, který začal s omezeným plánem nabízeným pouze v jedné nebo dvou geografických oblastech, obsahuje vestavěnou knihovnu, kterou lze snadno stáhnout za pouhých několik MB a lze ji rychle upravit a uvolnit. Zpočátku byla tato knihovna spotřebována pouze jednou nebo dvěma aplikacemi v rámci Netflixu, což zjednodušilo proces distribuce.
Jak se však Netflix v roce 2016 globálně rozšířil, což byla cesta, která začala v roce 2010, členská knihovna se rozšířila o kvalitu služeb, podporovaná zařízení, přístup ke stažení a další. V důsledku toho se rostoucí počet aplikací, jak uvnitř, tak mimo členský ekosystém, stal nedílnou součástí kritických operací a vyžádal si integraci této špičkové knihovny, čímž se vytvořil nový plán a architektura cen, která se stane jediným bodem pravda pro všechny členy a zvládne miliony objednávek.
Druhý případ použití souvisí s Historie členů. Netflix čelil výzvám se správou protokolů členů, které se primárně zaměřovaly na složitost zpracování více událostí aplikací, které nebyly v souladu s protokoly provozních dat, postrádaly vytrvalost a nebylo snadné je sladit napříč systémy. Kromě toho se objevily problémy, jako je omezená pozorovatelnost změn stavu dat a rozdíly v uzlech a logice generování událostí. Tým Membership Engineering navrhl řešení zachycením aktuálních změn v provozních zdrojích dat, což usnadňuje sledování historie stavu členství. Toho bylo dosaženo pomocí a Změna režimu sběru dat (CDC).a vytvořte pouze připojovaný protokol všech změn předplatného pro lepší viditelnost a sledovatelnost.
Poslední případ použití projednávaný předsednictvem byl Vyvíjející se ekosystém předplatného členů. Původní architektura byla založena na gRPC na aplikační úrovni, Cassandra Jako úložiště dat pro čtení s vysokým RPS (požadavky za sekundu), architektura mikroslužeb, která se horizontálně škálovala a byla vysoce výkonná a distribuovaná – systém odolný proti chybám, který je provozně připraven obsluhovat miliony požadavků za sekundu s milisekundovou latencí. Fungovalo to, ale neexistovala žádná možnost sladit stav, rychle manipulovat se souborem dat, aby se otevřely potenciální nové případy použití, a žádná cesta k odstranění, která by udržela objem dat pod kontrolou.
Struktura členství byla proto upgradována, aby zvládla schopnosti velkých dat pro rychlou navigaci v celém souboru dat. jiskra Normalizace úloh byla implementována pomocí offline dat s členstvím a napříč systémy. Komplexní datový auditor spustil výstrahy, aby detekoval anomálie a selhání zápisu v distribuovaném systému. Nakonec tým přidal možnost spustit vlastní cestu pro odstranění, aby měl objem dat pod kontrolou.
Diwan zakončil svou přednášku třemi klíčovými poznatky z případů použití:
- Ceny Netflixu: Posilněte své technologické volby (do určité míry) a reagujte na ně, než bude příliš pozdě
- Historie členů: Některé architektonické volby mohou v budoucnu vést pouze k významným ziskům; Máte odvahu investovat do velkých sázek
- Vývoj předplatného členství: ponechat jej uložit. Nikdy jsi neskončil!
A cituji:
Obecný hudební guru. Vášnivý myslitel. Milovník popkultury. Vášnivý fanoušek zombie.