×

🌐 Distribution

Nginx · Redis · SSL · Lua

मुख्य → स्ट्रीम → सीडीएन आर्किटेक्चर

सिंहावलोकन

मुख्य सर्वर केवल ऑर्केस्ट्रेटर के रूप में कार्य करता है - प्रमाणीकरण, टोकन पीढ़ी, सीडीएन रूटिंग।

प्रमाणीकरण, टोकन, ऑर्केस्ट्रेशन।

रेडिस के माध्यम से टोकन सत्यापन, फ्लुसोनिक के लिए प्रॉक्सी।

स्रोत स्ट्रीम सर्वर (एचएलएस/एमपीईजी-टीएस)।

आईपीटीवी प्लेयर (वीएलसी, एसटीबी, मोबाइल ऐप)।

प्रवाह का अनुरोध करें

क्लाइंट प्रमाणित करता है (बी2सी एपीआई/प्ले लिंक)

मुख्य रेडिस में टोकन बनाता है (स्रोत यूआरएल, 24 घंटे टीटीएल)

मुख्य क्लाइंट को सर्वोत्तम CDN (302) पर पुनर्निर्देशित करता है

क्लाइंट सीडीएन पर रीडायरेक्ट का अनुसरण करता है

सीडीएन मेन रेडिस (नेट एक्स) के माध्यम से टोकन को मान्य करता है

सीडीएन प्रॉक्सी फ्लुसोनिक से क्लाइंट तक स्ट्रीम होती है

नेटवर्क टोपोलॉजी

मैदान छोड़ना

सार्वजनिक इंटरनेट

स्वास्थ्य जांच एवं विफलता

CdnRouter /health समापन बिंदु के माध्यम से हर 30 सेकंड में CDN स्वास्थ्य की जाँच करता है।

कोई सीडीएन स्वस्थ नहीं → स्थानीय /सीडीएन/ मुख्य पर (सुरक्षा जाल)

टोकन विवरण

प्रारूप

रेडिस कुंजी

यूआरएल पुनर्निर्देशित करें

समर्थित प्रारूप और यूआरएल सामान्यीकरण

CdnToken स्वचालित रूप से विभिन्न स्रोत URL प्रारूपों का पता लगाता है और उन्हें संभालता है।

एचएलएस प्लेलिस्ट - सीधे उपयोग किया जाता है, मास्टर प्लेलिस्ट को एकल वीडियो संस्करण + सभी ऑडियो ट्रैक पर फ़िल्टर किया जाता है

रॉ एमपीईजी-टीएस - यदि सर्वर इसका समर्थन करता है तो स्वत: एचएलएस में परिवर्तित हो जाता है (फ्लुसोनिक हमेशा करता है), अन्यथा बफरिंग ऑफ के साथ रॉ को प्रॉक्सी किया जाता है

फ़ाइल (mp4, m4s, ts, mkv, आदि) - सीधे-सीधे प्रॉक्सी की गई, कोई रूपांतरण नहीं

DASH (mpd) - जैसा है वैसा ही प्रत्यक्ष रूप से दर्शाया गया है

Nginx मास्टर प्लेलिस्ट फ़िल्टर

एचएलएस स्ट्रीम के लिए, nginx बॉडी फ़िल्टर सभी ऑडियो/उपशीर्षक ट्रैक को संरक्षित करते हुए केवल पहला वीडियो संस्करण रखने के लिए मास्टर प्लेलिस्ट (index.m3u8) को फिर से लिखता है।

पहले (फ्लूसोनिक से)

बाद में (ग्राहक को वितरित)

अवयव

32-चार हेक्स टोकन जेनरेट करता है, ऑटो-डिटेक्ट फॉर्मेट (HLS/MPEG-TS/फ़ाइल), URL को सामान्य करता है, SETEX (24h TTL) के साथ Redis में स्टोर करता है।

क्लाइंट आईपी (सीआईडीआर मैच + स्वास्थ्य जांच) द्वारा सर्वोत्तम स्वस्थ सीडीएन ढूंढता है।

सीडीएन सर्वर पर nginx + lua-resty-redis + Redis को स्वतः इंस्टॉल करता है।

डीबी मॉडल: डोमेन, आईपी_स्कोप (सीआईडीआर), रेडिस_होस्ट (नेट एक्स पर मुख्य आईपी), स्वास्थ्य स्थिति।