Event Stream, Short Polling, ਅਤੇ Long Polling

ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ (Fetching) ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਉਪਭੋਗਤਾ ਜਵਾਬ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਦੇਰ ਤੱਕ ਉਡੀਕ ਕਰਦਾ ਹੈ, ਤਾਂ ਅਨੁਭਵ ਸੁਸਤ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ। ਇਹਨਾਂ ਡਾਟਾ ਰਿਕੁਐਸਟਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ।

Short Polling ਕਲਾਇੰਟ (Client) ਨਿਸ਼ਚਿਤ ਸਮੇਂ ਦੇ ਅੰਤਰਾਲ 'ਤੇ ਸਰਵਰ ਨੂੰ ਰਿਕੁਐਸਟਾਂ ਭੇਜਦਾ ਹੈ। ਸਰਵਰ ਹਰੇਕ ਰਿਕੁਐਸਟ ਦਾ ਤੁਰੰਤ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਇਹ ਕਲਾਇੰਟ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਨਵਾਂ ਡਾਟਾ ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ। ਲਗਾਤਾਰ ਰਿਕੁਐਸਟਾਂ ਕਾਰਨ ਇਹ ਵਿਧੀ ਬਹੁਤ ਸਾਰੇ ਸਰੋਤਾਂ (resources) ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।

Long Polling ਕਲਾਇੰਟ ਸਰਵਰ ਨੂੰ ਇੱਕ ਰਿਕੁਐਸਟ ਭੇਜਦਾ ਹੈ। ਸਰਵਰ ਰਿਕੁਐਸਟ ਨੂੰ ਉਦੋਂ ਤੱਕ ਖੁੱਲ੍ਹਾ ਰੱਖਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਨਵਾਂ ਡਾਟਾ ਨਹੀਂ ਆ ਜਾਂਦਾ ਜਾਂ ਟਾਈਮ-ਆਊਟ (timeout) ਨਹੀਂ ਹੋ ਜਾਂਦਾ। ਇਹ ਖਾਲੀ ਜਵਾਬਾਂ (empty responses) ਦੀ ਗਿਣਤੀ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।

Event Stream (SSE) ਵੱਡੇ ਡਾਟਾ ਸੈੱਟ ਲੰਬੇ ਇੰਤਜ਼ਾਰ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ 100,000 ਰੋਅ (rows) ਡਾਟਾ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਇੱਕੋ ਵਾਰ ਭੇਜਣਾ ਸੁਸਤ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਡਾਟਾ ਨੂੰ ਛੋਟੇ ਹਿੱਸਿਆਂ (chunks) ਵਿੱਚ ਭੇਜ ਕੇ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾ ਸਕਦੇ ਹੋ।

Event Stream ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:

  • ਕਲਾਇੰਟ ਸਰਵਰ ਨਾਲ ਇੱਕ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹਦਾ ਹੈ।
  • ਕਨੈਕਸ਼ਨ ਖੁੱਲ੍ਹਾ ਰਹਿੰਦਾ ਹੈ।
  • ਸਰਵਰ ਡਾਟਾ ਦੇ ਛੋਟੇ ਹਿੱਸੇ ਉਦੋਂ ਭੇਜਦਾ ਹੈ ਜਦੋਂ ਉਹ ਤਿਆਰ ਹੋ ਜਾਂਦੇ ਹਨ।
  • ਉਪਭੋਗਤਾ ਪੂਰੇ ਸੈੱਟ ਦੀ ਉਡੀਕ ਕਰਨ ਦੀ ਬਜਾਏ ਤੁਰੰਤ ਨਤੀਜੇ ਦੇਖਦਾ ਹੈ।

ਇਹ ਵਿਧੀ ਕਨੈਕਸ਼ਨ ਨੂੰ ਉਦੋਂ ਤੱਕ ਸਰਗਰਮ (active) ਰੱਖਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਸਰਵਰ ਸਾਰੇ ਈਵੈਂਟਸ (events) ਭੇਜਣਾ ਖਤਮ ਨਹੀਂ ਕਰ ਦਿੰਦਾ। ਇਹ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤੇਜ਼ ਅਤੇ ਰਿਸਪੌਂਸਿਵ (responsive) ਬਣਾਉਂਦਾ ਹੈ।

ਸਰੋਤ: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n