Architectural Blueprint: Low-Latency Analytics for Venues
લાઈવ ઇવેન્ટમાં 20,000 લોકો માટે ડેટાનું સંચાલન કરવું એ વેબ એપ બનાવવા જેવું નથી.
વેબ એપ્સમાં, વપરાશકર્તાઓ વિવિધ ટાઈમ ઝોનમાં ફેલાયેલા હોય છે. મોટા વેન્યુઝમાં, હજારો લોકો એકસાથે ડેટાના વિશાળ બર્સ્ટ (bursts) પેદા કરે છે. સવારનો રશ અવર (rush hour) એક પ્રમાણભૂત સિસ્ટમને અતિશય લોડ આપી શકે છે.
જો તમે બેચ પ્રોસેસિંગ અથવા લોંગ-પોલિંગનો ઉપયોગ કરો છો, તો તમારો ડેટા મોડો પહોંચશે. ક્રાઉડ કંટ્રોલમાં, 15 મિનિટનો વિલંબ એ નિષ્ફળતા સમાન છે. તમે ભીડના અવરોધ (bottleneck) ને ત્યારે જ જોઈ શકશો જ્યારે તે થઈ જાય.
તમારે સેકન્ડના નાના ભાગમાં (sub-second) અપડેટ્સની જરૂર છે. તમારે એજ (edge) થી તમારા ડેશબોર્ડ સુધી એક સ્ટ્રીમિંગ પાઇપલાઇન બનાવવી જ પડશે.
અહીં તમારે જરૂરી આર્કિટેક્ચર છે:
- The Edge Layer (Ingestion) દરેક પ્રવેશદ્વાર પર એક ઇન્ડસ્ટ્રિયલ એજ નોડ મૂકો. તેને સીરીયલ બસ દ્વારા RFID રીડર્સ સાથે જોડો.
તાત્કાલિક નિર્ણયો માટે ક્લાઉડ પર આધાર રાખશો નહીં. એજ નોડ પર Redis જેવી લોકલ ઇન-મેમરી ડેટાબેઝનો ઉપયોગ કરો. આ સિસ્ટમને 5ms થી ઓછા સમયમાં પરમિશન તપાસવાની મંજૂરી આપે છે. જો વેન્યુનું ઇન્ટરનેટ બંધ થઈ જાય, તો પણ ગેટ્સ કામ કરશે.
- The Transport Layer (MQTT) એજ હાર્ડવેર માટે HTTP REST એન્ડપોઇન્ટ્સનો ઉપયોગ કરવાનું બંધ કરો. હજારો નાના સ્કેન માટે HTTP માં ઘણો વધારે ઓવરહેડ (overhead) હોય છે.
તેના બદલે MQTT નો ઉપયોગ કરો. તે ન્યૂનતમ પેકેટ સાઈઝનો ઉપયોગ કરે છે અને પર્સિસ્ટન્ટ કનેક્શન જાળવી રાખે છે. આ અસ્થિર વેન્યુ નેટવર્ક પર પણ કામ કરે છે. એજ નોડ્સ ક્લાઉડ બ્રોકરને કોમ્પ્રેસ્ડ ડેટા પુશ કરે છે. બ્રોકર આ ઇવેન્ટ્સને તરત જ તમારા વર્કર્સ સુધી પહોંચાડે છે.
- The Visual Layer (WebSockets) તમારી ઓપરેશન્સ ટીમને ફેરફારો થતાની સાથે જ જોવા જરૂરી છે. બ્રાઉઝરને API દ્વારા અપડેટ્સ માટે પૂછવા માટે મજબૂર ન કરો.
ફૂલ-ડુપ્લેક્સ કનેક્શન માટે WebSockets નો ઉપયોગ કરો. આ ડેટાને તરત જ ડેશબોર્ડ પર પુશ કરે છે. જ્યારે હોલ વધુ પડતો ભરાઈ જાય, ત્યારે ટીમ તેને એક સેકન્ડથી પણ ઓછા સમયમાં જોઈ શકે છે. ત્યારબાદ તેઓ ફ્લો સુધારવા માટે સ્ટાફને ખસેડી શકે છે અથવા ડિજિટલ સાઇન્સ અપડેટ કરી શકે છે.
Summary of the stack:
- Edge: Local Redis + Industrial PC
- Transport: MQTT (EMQX અથવા HiveMQ)
- Frontend: રીઅલ-ટાઇમ UI માટે WebSockets
તમે તમારા IoT સેટઅપ્સમાં ગીચ ભીડના ડેટાને કેવી રીતે હેન્ડલ કરો છો? ચાલો નીચે ઇન્ફ્રાસ્ટ્રક્ચર વિશે ચર્ચા કરીએ.
