ਆਰਕੀਟੈਕਚਰਲ ਬਲੂਪ੍ਰਿੰਟ: ਵੈਨਿਊਜ਼ ਲਈ ਲੋਅ-ਲੈਂਟੈਂਸੀ ਐਨਾਲਿਟਿਕਸ

ਇੱਕ ਲਾਈਵ ਇਵੈਂਟ ਵਿੱਚ 20,000 ਲੋਕਾਂ ਦਾ ਡਾਟਾ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਕਿਸੇ ਵੈੱਬ ਐਪ ਬਣਾਉਣ ਵਰਗਾ ਨਹੀਂ ਹੈ।

ਵੈੱਬ ਐਪਸ ਵਿੱਚ, ਯੂਜ਼ਰ ਵੱਖ-ਵੱਖ ਟਾਈਮ ਜ਼ੋਨਾਂ ਵਿੱਚ ਫੈਲੇ ਹੁੰਦੇ ਹਨ। ਵੱਡੇ ਵੈਨਿਊਜ਼ ਵਿੱਚ, ਹਜ਼ਾਰਾਂ ਲੋਕ ਇੱਕੋ ਸਮੇਂ 'ਤੇ ਭਾਰੀ ਡਾਟਾ ਬਰਸਟ (data bursts) ਪੈਦਾ ਕਰਦੇ ਹਨ। ਸਵੇਰ ਦੀ ਰਸ਼ ਦਾ ਸਮਾਂ ਇੱਕ ਸਟੈਂਡਰਡ ਸਿਸਟਮ ਨੂੰ ਵੀ ਬੇਵੱਸ ਕਰ ਸਕਦਾ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਬੈਚ ਪ੍ਰੋਸੈਸਿੰਗ (batch processing) ਜਾਂ ਲੌਂਗ-ਪੋਲਿੰਗ (long-polling) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡਾ ਡਾਟਾ ਦੇਰੀ ਨਾਲ ਪਹੁੰਚੇਗਾ। ਭੀੜ ਦੇ ਕੰਟਰੋਲ ਵਿੱਚ, 15 ਮਿੰਟ ਦੀ ਦੇਰੀ ਇੱਕ ਅਸਫਲਤਾ ਹੈ। ਤੁਹਾਨੂੰ ਭੀੜ ਦੀ ਰੁਕਾਵਟ (bottleneck) ਉਦੋਂ ਹੀ ਦਿਖਾਈ ਦੇਵੇਗੀ ਜਦੋਂ ਉਹ ਹੋ ਚੁੱਕੀ ਹੋਵੇਗੀ।

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

ਇੱਥੇ ਉਹ ਆਰਕੀਟੈਕਚਰ ਹੈ ਜਿਸਦੀ ਤੁਹਾਨੂੰ ਲੋੜ ਹੈ:

  1. ਐਜ ਲੇਅਰ (Ingestion) ਹਰ ਪ੍ਰਵੇਸ਼ ਦੁਆਰ 'ਤੇ ਇੱਕ ਇੰਡਸਟਰੀਅਲ ਐਜ ਨੋਡ (industrial edge node) ਲਗਾਓ। ਇਸਨੂੰ ਸੀਰੀਅਲ ਬੱਸ ਰਾਹੀਂ RFID ਰੀਡਰਾਂ ਨਾਲ ਜੋੜੋ।

ਤੁਰੰਤ ਫੈਸਲੇ ਲੈਣ ਲਈ ਕਲਾਉਡ 'ਤੇ ਨਿਰਭਰ ਨਾ ਰਹੋ। ਐਜ ਨੋਡ 'ਤੇ Redis ਵਰਗੇ ਸਥਾਨਕ ਇਨ-ਮੈਮਰੀ ਡਾਟਾਬੇਸ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਸਿਸਟਮ ਨੂੰ 5ms ਤੋਂ ਵੀ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਪਰਮਿਸ਼ਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਜੇਕਰ ਵੈਨਿਊ ਦਾ ਇੰਟਰਨੈੱਟ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਵੀ ਗੇਟ ਕੰਮ ਕਰਦੇ ਰਹਿਣਗੇ।

  1. ਟ੍ਰਾਂਸਪੋਰਟ ਲੇਅਰ (MQTT) ਐਜ ਹਾਰਡਵੇਅਰ ਲਈ HTTP REST endpoints ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਬੰਦ ਕਰੋ। ਹਜ਼ਾਰਾਂ ਛੋਟੇ ਸਕੈਨਾਂ ਲਈ HTTP ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਓਵਰਹੈੱਡ (overhead) ਹੁੰਦਾ ਹੈ।

ਇਸਦੀ ਬਜਾਏ MQTT ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਬਹੁਤ ਹੀ ਘੱਟ ਪੈਕੇਟ ਸਾਈਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਪਰਸਿਸਟੈਂਟ (persistent) ਕਨੈਕਸ਼ਨ ਬਣਾਈ ਰੱਖਦਾ ਹੈ। ਇਹ ਅਸਥਿਰ ਵੈਨਿਊ ਨੈੱਟਵਰਕਾਂ 'ਤੇ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ। ਐਜ ਨੋਡ ਕੰਪ੍ਰੈੱਸਡ ਡਾਟਾ ਨੂੰ ਕਲਾਉਡ ਬ੍ਰੋਕਰ ਨੂੰ ਭੇਜਦੇ ਹਨ। ਬ੍ਰੋਕਰ ਇਹਨਾਂ ਈਵੈਂਟਸ ਨੂੰ ਤੁਰੰਤ ਤੁਹਾਡੇ ਵਰਕਰਾਂ ਤੱਕ ਪਹੁੰਚਾਉਂਦਾ ਹੈ।

  1. ਵਿਜ਼ੂਅਲ ਲੇਅਰ (WebSockets) ਤੁਹਾਡੀ ਓਪਰੇਸ਼ਨ ਟੀਮ ਨੂੰ ਬਦਲਾਅ ਹੁੰਦੇ ਹੀ ਉਹਨਾਂ ਨੂੰ ਦੇਖਣ ਦੀ ਲੋੜ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ API ਰਾਹੀਂ ਅਪਡੇਟਸ ਮੰਗਣ ਲਈ ਮਜਬੂਰ ਨਾ ਕਰੋ।

ਫੁੱਲ-ਡਿਊਪਲੈਕਸ (full-duplex) ਕਨੈਕਸ਼ਨ ਲਈ WebSockets ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਡਾਟਾ ਨੂੰ ਤੁਰੰਤ ਡੈਸ਼ਬੋਰਡ 'ਤੇ ਪੁਸ਼ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਕੋਈ ਹਾਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਭੀੜ ਵਾਲਾ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਟੀਮ ਨੂੰ ਇੱਕ ਸੈਕਿੰਡ ਤੋਂ ਵੀ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਇਸਦਾ ਪਤਾ ਲੱਗ ਜਾਂਦਾ ਹੈ। ਉਹ ਫਿਰ ਭੀੜ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਸਟਾਫ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹਨ ਜਾਂ ਡਿਜੀਟਲ ਸਾਈਨ ਬਦਲ ਸਕਦੇ ਹਨ।

ਸਟੈਕ ਦਾ ਸਾਰ (Summary):

  • Edge: Local Redis + Industrial PC
  • Transport: MQTT (EMQX ਜਾਂ HiveMQ)
  • Frontend: ਰੀਅਲ-ਟਾਈਮ UI ਲਈ WebSockets

ਤੁਸੀਂ ਆਪਣੇ IoT ਸੈੱਟਅੱਪ ਵਿੱਚ ਸੰਘਣੀ ਭੀੜ ਦੇ ਡਾਟਾ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੇ ਹੋ? ਆਓ ਹੇਠਾਂ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਬਾਰੇ ਚਰਚਾ ਕਰੀਏ।

ਸਰੋਤ: https://dev.to/stampiq/architectural-blueprint-building-a-low-latency-analytics-pipeline-for-high-capacity-physical-venues-14m6