Nginx · Redis · SSL · Lua

Yleiskatsaus
Pääpalvelin toimii vain orkestroijana — tunnistautuminen, tunnisteiden luonti, CDN-reititys. Se ei koskaan käsittele streamidataa. Streamit virtaavat suoraan stream server CDN-välityspalvelimien kautta asiakkaille. Jokaisella asiakasverkolla on paikallinen CDN matalan viiveen takaamiseksi. Julkinen CDN-Z toimii varana.
Tunnistautuminen, tunnisteet, orkestrointi. Ei streamidataa.
Tunnisteen tarkistus Redisin kautta, välitys stream server.
Lähdevirta-palvelimet (HLS/MPEG-TS).
IPTV-soitin (VLC, STB, mobiilisovellus).
Asiakas tunnistautuu (B2C API / toistolinki)
Main luo polkkua Redisiin (lähde-URL, 24h TTL)
Pääpalvelin ohjaa asiakkaan parhaalle CDN:lle (302)
Asiakas seuraa uudelleenohjausta CDN:lle
CDN tarkistaa tunnisteen pääpalvelimen Redisin kautta (Verkko X)
CDN lähettää virran Fluusoniksesta asiakkaalle
varasuunnitelma
julkinen internet
CdnRouter tarkistaa CDN-terveyden 30s välein /health-päätepisteestä. Jos asiakkaan aliverkon paras CDN on alhaalla, siirrytään seuraavaan vastaavaan CDN:ään (lajiteltuna CIDR-etuliitteen pituuden mukaan, tarkin ensin).
Ei terveellistä CDN:ää → paikallinen /cdn/ pääpalvelimella (turvajärjestelmä)
Muoto
Uudelleenohjaus URL
CdnToken tunnistaa ja käsittelee automaattisesti eri lähde-URL-muodot. MPEG-TS- tai pelkille streamipoluille se tutkii palvelimen HLS-saatavuuden HEAD-pyynnöllä.
HLS-soittolista - käytetään suoraan, pääsoittolista suodatettu yhteen videon muunnokseen + kaikki äänitaulukot
Raaka MPEG-TS — muunnetaan automaattisesti HLS:ksi jos palvelin tukee (stream server tukee aina), muuten välitetään raakana puskurointi pois päältä
Tiedosto (mp4, m4s, ts, mkv jne.) — välitetään suoraan sellaisenaan, ei muunnosta
DASH (mpd) — välitetään suoraan sellaisenaan
HLS-virroille nginx-runko-suodatin kirjoittaa pääsoittolistaindeksin (index.m3u8) pitäen vain ensimmäisen videon muunnoksen samalla säilyttäen kaikki ääniraidat/tekstitykset. Tämä estää pelaajia lataamasta useita videon laatuja samanaikaisesti.
Ennen (stream server)
Jälkeen (toimitettu asiakkaalle)
Luo 32-merkkisiä hex-tunnisteita, tunnistaa muodon automaattisesti (HLS/MPEG-TS/tiedosto), normalisoi URL:n, tallentaa Redisiin SETEX:llä (24h TTL).
Löytää parhaan terveen CDN:n asiakkaan IP:n perusteella (CIDR-vastaavuus + terveystarkistus). Varaketju.
Asentaa automaattisesti nginx + lua-resty-redis + Redis CDN-palvelimille. Lisää /cdn/-sijainnin pääasialliseen nginxiin.
Tietokantamalli: domain, ip_scope (CIDR), redis_host (pääasiallinen IP verkossa X), terveystila.