Jak to działa?

Strona internetowa
Aplikacja jest napisana w Node.js - serwuje ona kontent strony, dane pobiera z bazy MySQL (która też jest na końcówkach, replikacja master-slave po VPN). Rozrzucona jest po kilku serwerach. Korzystamy z Cloudflare, ruch później trafia to na nginx jako load balancer.
Użyte technologie:

Sterowanie oświetleniem
Przesyłanie stanów kanałów realizowane jest przez technologię Socket.IO. Mamy kilka niezależnych serwerów, wybór najmniej obciążonego serwera jest realizowany przez autorski load balancer. Pomiędzy serwerami websocket wymiana danych występuje przez bazę Redis. Klienci sterujący oświetleniem łączą się albo bezpośrednio po protokole websocket lub poprzez API API. Jako końcówki każdy z nas ma różne rozwiązania od ESP8266, poprzez programowalne ledy, kończąc na Raspberry Pi).
Użyte technologie:

Transmisja obrazu
Do dostarczenia strumienia do klienta używamy Nimble Streamer, który wykorzystuje protokół SLDP. Transmisje dostarczane są na serwer z kartami graficzymi Nvidia Quadro i na nim transkodowane do różnych strumieni jakościowych. Używamy również pomocniczo ffmpeg i OBS.
Użyte technologie:

Monitoring
Całość monitorujemy można powiedzieć, że 24h na dobę poprzez autorskie skrypty, które wysyłają powiadomienia do Nas. Do zbierania logów aplikacji wykorzystujemy stack ELK (Kibana, Elasticsearch, Filebeat). Monitoring dostępności zapewniamy poprzez LibreNMS, The Dude, Uptime Robot.
Użyte technologie:
Masz dodatkowe pytania? Chcesz dowiedzieć się czegoś więcej?
Zobacz również zakładkę "O autorach"
Fanpage na Facebooku
Czat tekstowy i głosowy na Discordzie