আর্কিটেকচারাল ব্লুপ্রিন্ট: ভেন্যুগুলোর জন্য লো-ল্যাটেন্সি অ্যানালিটিক্স
একটি লাইভ ইভেন্টে ২০,০০০ মানুষের ডেটা ম্যানেজ করা কোনো ওয়েব অ্যাপ তৈরির মতো নয়।
ওয়েব অ্যাপের ক্ষেত্রে ব্যবহারকারীরা বিভিন্ন টাইম জোনে ছড়িয়ে থাকে। কিন্তু বড় ভেন্যুতে হাজার হাজার মানুষ একই সময়ে প্রচুর পরিমাণে ডেটা তৈরি করে। সকালের ব্যস্ত সময়ে (rush hour) একটি সাধারণ সিস্টেম অচল হয়ে পড়তে পারে।
আপনি যদি ব্যাচ প্রসেসিং বা লং-পোলিং ব্যবহার করেন, তবে আপনার ডেটা দেরিতে পৌঁছাবে। ভিড় নিয়ন্ত্রণের ক্ষেত্রে ১৫ মিনিটের বিলম্ব মানেই হলো ব্যর্থতা। ভিড়ের জট বা বোতলনেক তৈরি হওয়ার পরেই আপনি তা দেখতে পাবেন।
আপনার প্রয়োজন সেকেন্ডের ভগ্নাংশের মধ্যে আপডেট। আপনাকে এজ (edge) থেকে ড্যাশবোর্ড পর্যন্ত একটি স্ট্রিমিং পাইপলাইন তৈরি করতে হবে।
আপনার যা আর্কিটেকচার প্রয়োজন তা নিচে দেওয়া হলো:
১. এজ লেয়ার (Ingestion)
প্রতিটি প্রবেশপথে একটি ইন্ডাস্ট্রিয়াল এজ নোড স্থাপন করুন। সিরিয়াল বাসের মাধ্যমে এটিকে RFID রিডারগুলোর সাথে সংযুক্ত করুন।
তাৎক্ষণিক সিদ্ধান্তের জন্য ক্লাউডের ওপর নির্ভর করবেন না। এজ নোডে Redis-এর মতো একটি লোকাল ইন-মেমরি ডেটাবেস ব্যবহার করুন। এটি সিস্টেমকে ৫ মিলিসেকেন্ডের কম সময়ে পারমিশন যাচাই করতে সাহায্য করে। ভেন্যুর ইন্টারনেট সংযোগ বিচ্ছিন্ন হয়ে গেলেও গেটগুলো কাজ করবে।
২. ট্রান্সপোর্ট লেয়ার (MQTT)
এজ হার্ডওয়্যারের জন্য HTTP REST এন্ডপয়েন্ট ব্যবহার করা বন্ধ করুন। হাজার হাজার ছোট স্ক্যানের জন্য HTTP-তে অনেক বেশি ওভারহেড থাকে।
এর পরিবর্তে MQTT ব্যবহার করুন। এটি খুব সামান্য প্যাকেট সাইজ ব্যবহার করে এবং একটি পারসিস্টেন্ট কানেকশন বজায় রাখে। এটি এমনকি ভেন্যুর অস্থির নেটওয়ার্কের মধ্যেও কাজ করে। এজ নোডগুলো কম্প্রেসড ডেটা একটি ক্লাউড ব্রোকারে পুশ করে। ব্রোকার এই ইভেন্টগুলোকে তাৎক্ষণিকভাবে আপনার ওয়ার্কারদের কাছে পৌঁছে দেয়।
৩. ভিজ্যুয়াল লেয়ার (WebSockets)
আপনার অপারেশন টিমের পরিবর্তনগুলো রিয়েল-টাইমে দেখা প্রয়োজন। ব্রাউজারকে API-এর মাধ্যমে আপডেটের জন্য অনুরোধ করতে বাধ্য করবেন না।
ফুল-ডুপ্লেক্স কানেকশনের জন্য WebSockets ব্যবহার করুন। এটি তাৎক্ষণিকভাবে ড্যাশবোর্ডে ডেটা পুশ করে। যখন কোনো হল অতিরিক্ত জনাকীর্ণ হয়ে ওঠে, টিমটি এক সেকেন্ডের কম সময়ে তা দেখতে পায়। এরপর তারা ভিড় সামলাতে কর্মী সরিয়ে দিতে পারে বা ডিজিটাল সাইন আপডেট করতে পারে।
স্ট্যাকের সারসংক্ষেপ:
- Edge: Local Redis + Industrial PC
- Transport: MQTT (EMQX or HiveMQ)
- Frontend: WebSockets for real-time UI
আপনি আপনার IoT সেটআপে ঘন জনাকীর্ণ ডেটা কীভাবে হ্যান্ডেল করেন? নিচে ইনফ্রাস্ট্রাকচার নিয়ে আলোচনা করা যাক।
