ઇવેન્ટ સ્ટ્રીમ (Event Stream), શોર્ટ પોલિંગ (Short Polling), અને લોંગ પોલિંગ (Long Polling)
મોટા પ્રમાણમાં ડેટા મેળવવાથી વપરાશકર્તાઓ માટે સમસ્યાઓ ઊભી થાય છે. જો વપરાશકર્તા પ્રતિસાદ માટે ખૂબ લાંબો સમય રાહ જુએ, તો અનુભવ ધીમો લાગે છે. આ ડેટા વિનંતીઓને હેન્ડલ કરવા માટે તમે વિવિધ પદ્ધતિઓનો ઉપયોગ કરો છો.
શોર્ટ પોલિંગ (Short Polling) ક્લાયન્ટ નિશ્ચિત અંતરાલો પર સર્વરને વિનંતીઓ મોકલે છે. સર્વર દરેક વિનંતીનો તરત જ જવાબ આપે છે. તે ક્લાયન્ટને જણાવે છે કે નવો ડેટા છે કે નહીં. સતત વિનંતીઓને કારણે આ પદ્ધતિમાં ઘણા સંસાધનોનો ઉપયોગ થાય છે.
લોંગ પોલિંગ (Long Polling) ક્લાયન્ટ સર્વરને વિનંતી મોકલે છે. જ્યાં સુધી નવો ડેટા ન આવે અથવા ટાઈમઆઉટ (timeout) ન થાય ત્યાં સુધી સર્વર વિનંતીને ખુલ્લી રાખે છે. આનાથી ખાલી પ્રતિસાદોની સંખ્યા ઘટે છે.
ઇવેન્ટ સ્ટ્રીમ (Event Stream - SSE) મોટા ડેટાસેટ્સ લાંબો સમય રાહ જોવડાવે છે. જો તમારી પાસે 1,00,000 ડેટાની હરોળ (rows) હોય, તો તે બધાને એકસાથે મોકલવા ધીમું છે. તમે ડેટાને ટુકડાઓમાં (chunks) મોકલીને વપરાશકર્તાના અનુભવને સુધારી શકો છો.
ઇવેન્ટ સ્ટ્રીમ આ રીતે કામ કરે છે:
- ક્લાયન્ટ સર્વર સાથે કનેક્શન ખોલે છે.
- કનેક્શન ખુલ્લું રહે છે.
- સર્વર ડેટાના નાના ભાગો તૈયાર થાય તેમ મોકલે છે.
- વપરાશકર્તા સંપૂર્ણ સેટની રાહ જોવાને બદલે તરત જ પરિણામો જોઈ શકે છે.
આ પદ્ધતિ સર્વર તમામ ઇવેન્ટ્સ મોકલવાનું પૂરું ન કરે ત્યાં સુધી કનેક્શન સક્રિય રાખે છે. તે એપ્લિકેશન્સને ઝડપી અને પ્રતિભાવશીલ બનાવે છે.
સ્ત્રોત: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n