×

🌐 Distribution

Nginx · Redis · SSL · Lua

Peamine → voog → CDN arhitektuur

Ülevaade

Peamine server toimib ainult orkestreerijana — autentimine, märgise genereerimine, CDN marsruutimine. See ei puuduta kunagi voolu andmeid. Vooed voolavad otse Flussonikast CDN pealekandmiste kaudu klientidele. Igal kliendi võrgul on kohalik CDN madala latentsuse jaoks. Avalik CDN-Z teenib kasutamata.

Auth, märgised, orkestratsioon. Voolu andmeid pole.

Märgise valideerimine Redisse, proksi Flussonikale.

Allikavoodu serverid (HLS/MPEG-TS).

IPTV mängija (VLC, STB, mobiilirakendus).

Voo taotlemine

Klient autentib (B2C API / esituslink)

Peamine loob märgise Redisse (allikale URL, 24h TTL)

Peamine suunab kliendi parimale CDN (302)

Klient järgneb ümbersuunamisele CDN

CDN kinnitab märgi Maini Redise (Net X) kaudu

CDN proksi voog Flussonikast kliendile

Võrgu topoloogia

tagavara

avalik internet

Tervisekontroll ja ümberlülitus

CdnRouter kontrollib CDN tervist iga 30s kaudu /health lõpp-punkti kaudu. Kui kliendi alamvõrgu parim CDN on all, langeb see järgmise sobituse CDN-i (sorteeritud CIDR eesliidete pikkusega, kõige spetsiifilisem esimene).

CDN terve pole → kohalik /cdn/ peamisel (turvalisusvõrk)

Märgise üksikasjad

Vorming

Redis võtmed

Ümbersuunamise URL

Toetatud vormingud ja URL normaalimine

CdnToken tuvastab ja käsitleb automaatselt erinevaid lähte-URL-i vorminguid. MPEG-TS või tühja voo teede puhul uurib see serverilt HLS-i saadavust HEAD-päringu kaudu.

HLS esitusloend — kasutatud otse, pealemängija esitusloend filtreeritud ühele video variandile + kõik heliraja

Raw MPEG-TS — automaatselt teisendatud HLS-iks kui server seda toetab (stream server teeb alati), muidu proksitud raw puhvritusega

Fail (mp4, m4s, ts, mkv jne.) — proksitud otse-ees, pole konversioon

DASH (mpd) – puhverserver otse, nagu on

Nginxi esitusloendi põhifilter

HLS vooga jaoks nginx keha filter kirjutab pealemängija playlisti (index.m3u8) ümber, säilitades ainult esimese video variandi, hoides samal ajal kõik audio/alampealdise rajad. See takistab mängijaid mitme videokvaliteedi samaaegsel allalaadimisel.

Enne (stream server)

Pärast (kliendile tarnitud)

Komponendid

Genereerib 32-tähemärgilisi kuueteistkümnendmärke, tuvastab automaatselt vormingu (HLS/MPEG-TS/fail), normaliseerib URL-i, salvestab Redis koos SETEXiga (24h TTL).

Leiab parimad terved CDN kliendi IP järgi (CIDR sobitamine + tervisekontroll). Failover kett.

Installib nginx + lua-resty-redis + Redis automaatselt CDN-serveritesse. Sisestab /cdn/ asukoha peamisse nginxi.

DB mudel: domeen, ip_scope (CIDR), redis_host (peamine IP võrgus X), tervislik seisund.