MQTT
এমকিউটিটি (মূলত এমকিউ টেলিমেট্রি ট্রান্সপোর্টের একটি সূচনাবাদ) হল বার্তা সারি/বার্তা সারি পরিষেবার জন্য একটি হালকা, প্রকাশ-সাবস্ক্রাইব, মেশিন থেকে মেশিন নেটওয়ার্ক প্রোটোকল। এটি দূরবর্তী অবস্থানগুলির সাথে সংযোগের জন্য ডিজাইন করা হয়েছে যেখানে সম্পদ সীমাবদ্ধতা বা সীমিত নেটওয়ার্ক ব্যান্ডউইথ সহ ডিভাইস রয়েছে, যেমন ইন্টারনেট অফ থিংস (আইওটি)। এটি অবশ্যই একটি পরিবহন প্রোটোকলের উপর দিয়ে চলতে হবে যা অর্ডার করা, ক্ষতিহীন, দ্বি-দিকনির্দেশক সংযোগ সরবরাহ করে-সাধারণত, টিসিপি/আইপি, তবে সম্ভবত কিউইউআইসি-র উপরও এটি একটি উন্মুক্ত ওএএসআইএস মান এবং একটি আইএসও সুপারিশ (আইএসও/আইইসি 20922)। ইতিহাস অ্যান্ডি স্ট্যানফোর্ড-ক্লার্ক (আইবিএম) এবং আর্লেন নিপার (তখন ইউরোটেক, ইনকর্পোরেটেডের জন্য কাজ করছিলেন) 1999 সালে প্রটোকলের প্রথম সংস্করণটি রচনা করেছিলেন। এটি এস. সি. এ. ডি. এ শিল্প নিয়ন্ত্রণ ব্যবস্থার মধ্যে তেল পাইপলাইন পর্যবেক্ষণ করতে ব্যবহৃত হত। লক্ষ্য ছিল এমন একটি প্রোটোকল থাকা যা ব্যান্ডউইথ-দক্ষ, হালকা এবং সামান্য ব্যাটারি শক্তি ব্যবহার করে, কারণ ডিভাইসগুলি স্যাটেলাইট লিঙ্কের মাধ্যমে সংযুক্ত ছিল যা সেই সময়ে অত্যন্ত ব্যয়বহুল ছিল। ঐতিহাসিকভাবে, "এমকিউটিটি"-তে "এমকিউ" আইবিএম এমকিউ (তখন 'এমকিউ সিরিজ') পণ্য লাইন থেকে এসেছে, যেখানে এটি "বার্তা সারি" বোঝায়। যাইহোক, প্রটোকলটি প্রকাশ-এবং-সাবস্ক্রাইব বার্তা প্রদান করে (নাম সত্ত্বেও কোনও সারি নেই)। আইবিএম দ্বারা সংস্করণ 3.1 হিসাবে খোলা নির্দিষ্টকরণে প্রোটোকলটিকে "এমকিউ টেলিমেট্রি ট্রান্সপোর্ট" হিসাবে উল্লেখ করা হয়েছিল। ও. এ. এস. আই. এস দ্বারা প্রকাশিত পরবর্তী সংস্করণগুলি কঠোরভাবে প্রটোকলটিকে কেবল "এম. কিউ. টি. টি" হিসাবে উল্লেখ করে, যদিও প্রযুক্তিগত কমিটির নামই "ও. এ. এস. আই. এস মেসেজ কিউইং টেলিমেট্রি ট্রান্সপোর্ট টেকনিক্যাল কমিটি"। 2013 সাল থেকে, "এমকিউটিটি" কোনও কিছুর জন্য দাঁড়ায় না। 2013 সালে, আই. বি. এম. এম. কিউ. টি. টি. ভি. 3.1-কে ও. এ. এস. আই. এস-এর নির্দিষ্টকরণ সংস্থায় একটি সনদ সহ জমা দেয় যা নিশ্চিত করে যে নির্দিষ্টকরণে শুধুমাত্র ছোটখাটো পরিবর্তনগুলি গ্রহণ করা যেতে পারে। আইবিএম থেকে মানটির রক্ষণাবেক্ষণের দায়িত্ব নেওয়ার পর, ওএএসআইএস 2014 সালের 29শে অক্টোবর সংস্করণ 3.1.1 প্রকাশ করে। এমকিউটিটি সংস্করণ 5-এ আরও উল্লেখযোগ্য আপগ্রেড, বেশ কয়েকটি নতুন বৈশিষ্ট্য যুক্ত করে, 7ই মার্চ, 2019-এ মুক্তি পায়। এমকিউটিটি-এসএন (সেন্সর নেটওয়ার্কের জন্য এমকিউটিটি) হল জিগবির মতো নন-টিসিপি/আইপি নেটওয়ার্কে ব্যাটারি চালিত এমবেডেড ডিভাইসগুলিকে লক্ষ্য করে মূল প্রোটোকলের একটি বৈচিত্র্য। সংক্ষিপ্ত বিবরণ এমকিউটিটি প্রোটোকল দুই ধরনের নেটওয়ার্ক সত্তাকে সংজ্ঞায়িত করেঃ একটি বার্তা দালাল এবং বেশ কয়েকটি ক্লায়েন্ট। একজন এমকিউটিটি দালাল এমন একটি সার্ভার যা ক্লায়েন্টদের কাছ থেকে সমস্ত বার্তা গ্রহণ করে এবং তারপরে বার্তাগুলি উপযুক্ত গন্তব্য ক্লায়েন্টদের কাছে পৌঁছে দেয়। একটি এমকিউটিটি ক্লায়েন্ট হল যে কোনও ডিভাইস (একটি মাইক্রো কন্ট্রোলার থেকে একটি সম্পূর্ণ সার্ভার পর্যন্ত) যা একটি এমকিউটিটি লাইব্রেরি চালায় এবং একটি নেটওয়ার্কের মাধ্যমে একটি এমকিউটিটি ব্রোকারের সাথে সংযোগ স্থাপন করে। তথ্য বিষয়গুলির একটি শ্রেণিবিন্যাসে সংগঠিত হয়। যখন কোনও প্রকাশকের কাছে বিতরণ করার জন্য তথ্যের একটি নতুন আইটেম থাকে, তখন এটি সংযুক্ত দালালকে তথ্য সহ একটি নিয়ন্ত্রণ বার্তা পাঠায়। দালাল তখন সেই বিষয়ে সাবস্ক্রাইব করা যে কোনও ক্লায়েন্টের কাছে তথ্য বিতরণ করে। প্রকাশকদের গ্রাহকদের সংখ্যা বা অবস্থান সম্পর্কে কোনও তথ্য থাকার প্রয়োজন নেই এবং গ্রাহকদের প্রকাশকদের সম্পর্কে কোনও তথ্য দিয়ে কনফিগার করতে হবে না। যদি কোনও দালাল এমন কোনও বিষয়ে কোনও বার্তা পান যার জন্য কোনও বর্তমান গ্রাহক নেই, তবে ব্রোকার বার্তাটি বাতিল করে দেয় যদি না বার্তাটির প্রকাশক বার্তাটিকে একটি সংরক্ষিত বার্তা হিসাবে মনোনীত না করে। একটি ধরে রাখা বার্তা হল একটি সাধারণ এমকিউটিটি বার্তা যার ধরে রাখা পতাকাটি সত্য হিসাবে সেট করা থাকে। দালাল নির্বাচিত বিষয়ের জন্য সর্বশেষ সংরক্ষিত বার্তা এবং সংশ্লিষ্ট মানের পরিষেবা (কিউ. ও. এস) সংরক্ষণ করে। সংরক্ষিত বার্তার বিষয়ের সাথে মেলে এমন একটি বিষয়ের প্যাটার্নে সাবস্ক্রাইব করা প্রতিটি ক্লায়েন্ট সাবস্ক্রাইব করার পরপরই সংরক্ষিত বার্তাটি গ্রহণ করে। দালাল প্রতি বিষয়ে শুধুমাত্র একটি সংরক্ষিত বার্তা সংরক্ষণ করে। এটি কোনও বিষয়ের নতুন গ্রাহকদের কোনও প্রকাশকের কাছ থেকে পরবর্তী আপডেটের জন্য অপেক্ষা করার পরিবর্তে সর্বাধিক বর্তমান মূল্য পাওয়ার অনুমতি দেয়। যখন কোনও প্রকাশনা ক্লায়েন্ট প্রথম ব্রোকারের সাথে সংযোগ স্থাপন করে, তখন এটি গ্রাহকদের কাছে পাঠানোর জন্য একটি ডিফল্ট বার্তা সেট আপ করতে পারে যদি ব্রোকার সনাক্ত করে যে প্রকাশনা ক্লায়েন্ট অপ্রত্যাশিতভাবে ব্রোকারের সাথে সংযোগ বিচ্ছিন্ন করেছে। ক্লায়েন্টরা শুধুমাত্র একজন ব্রোকারের সাথে যোগাযোগ করে, তবে একটি সিস্টেমে বেশ কয়েকটি ব্রোকার সার্ভার থাকতে পারে যা তাদের বর্তমান গ্রাহকদের বিষয়ের উপর ভিত্তি করে তথ্য বিনিময় করে। একটি ন্যূনতম এমকিউটিটি নিয়ন্ত্রণ বার্তা দুই বাইটের সমান হতে পারে। প্রয়োজন হলে একটি নিয়ন্ত্রণ বার্তা প্রায় 256 মেগাবাইট তথ্য বহন করতে পারে। চৌদ্দটি সংজ্ঞায়িত বার্তা প্রকার রয়েছে যা কোনও গ্রাহককে দালাল থেকে সংযোগ এবং বিচ্ছিন্ন করতে, তথ্য প্রকাশ করতে, তথ্য প্রাপ্তির স্বীকৃতি দিতে এবং গ্রাহক এবং সার্ভারের মধ্যে সংযোগের তদারকি করতে ব্যবহৃত হয়। ডেটা ট্রান্সমিশনের জন্য এমকিউটিটি টিসিপি প্রোটোকলের উপর নির্ভর করে। একটি বৈকল্পিক, এমকিউটিটি-এসএন, ইউডিপি বা ব্লুটুথের মতো অন্যান্য পরিবহনে ব্যবহৃত হয়। এমকিউটিটি সাধারণ পাঠ্য বিন্যাসে সংযোগ শংসাপত্র পাঠায় এবং নিরাপত্তা বা প্রমাণীকরণের জন্য কোনও ব্যবস্থা অন্তর্ভুক্ত করে না। হস্তান্তরিত তথ্যকে এনক্রিপ্ট করতে এবং বাধা, পরিবর্তন বা জালিয়াতির বিরুদ্ধে রক্ষা করতে টিএলএস ব্যবহার করে এটি প্রদান করা যেতে পারে। ডিফল্ট এনক্রিপ্ট না করা এমকিউটিটি পোর্ট হল 1883। এনক্রিপ্ট করা বন্দরটি হল 8883। এমকিউটিটি ব্রোকার হল কম্পিউটারে (প্রাঙ্গনে বা ক্লাউডে চলমান) চলমান একটি সফ্টওয়্যার, এবং এটি তৃতীয় পক্ষের দ্বারা স্ব-নির্মিত বা হোস্ট করা যেতে পারে। এটি মুক্ত উৎস এবং মালিকানাধীন বাস্তবায়ন উভয় ক্ষেত্রেই পাওয়া যায়। দালাল ডাকঘর হিসাবে কাজ করে। এমকিউটিটি ক্লায়েন্টরা কাঙ্ক্ষিত প্রাপকের সরাসরি সংযোগের ঠিকানা ব্যবহার করে না, তবে "বিষয়" নামক বিষয় লাইনটি ব্যবহার করে। যে কেউ সাবস্ক্রাইব করলে সেই বিষয়ের জন্য সমস্ত বার্তার একটি অনুলিপি পায়। একাধিক ক্লায়েন্ট একক দালাল (এক থেকে একাধিক ক্ষমতা) থেকে একটি বিষয়ে সাবস্ক্রাইব করতে পারে এবং একক ক্লায়েন্ট একাধিক দালাল (একাধিক থেকে একাধিক) সহ বিষয়গুলিতে সাবস্ক্রিপশন নিবন্ধন করতে পারে। প্রতিটি ক্লায়েন্ট প্রকাশনা এবং সাবস্ক্রাইব উভয় মাধ্যমেই তথ্য তৈরি এবং গ্রহণ করতে পারে, অর্থাৎ। ডিভাইসগুলি সেন্সর ডেটা প্রকাশ করতে পারে এবং এখনও কনফিগারেশন তথ্য বা নিয়ন্ত্রণ কমান্ডগুলি গ্রহণ করতে সক্ষম হতে পারে (এমকিউটিটি একটি দ্বি-দিকনির্দেশক যোগাযোগ প্রোটোকল)। এটি তথ্য ভাগ করে নেওয়া, ডিভাইস পরিচালনা এবং নিয়ন্ত্রণ উভয় ক্ষেত্রেই সহায়তা করে। একজন ক্লায়েন্ট একই তথ্য বিভিন্ন বিষয়ে সম্প্রচার করতে পারে না এবং দালালকে একাধিক বার্তা প্রকাশ করতে হবে, যার প্রত্যেকটিতে একটি করে বিষয় দেওয়া থাকবে। এমকিউটিটি ব্রোকার স্থাপত্যের সাথে, ক্লায়েন্ট ডিভাইস এবং সার্ভার অ্যাপ্লিকেশন বিচ্ছিন্ন হয়ে যায়। এইভাবে, গ্রাহকদের একে অপরের তথ্য সম্পর্কে অজ্ঞাত রাখা হয়। এমকিউটিটি, যদি কনফিগার করা থাকে, তবে শংসাপত্র, ব্যবহারকারীর নাম এবং পাসওয়ার্ড সুরক্ষিত সংযোগের সাথে টিএলএস এনক্রিপশন ব্যবহার করতে পারে। ঐচ্ছিকভাবে, সংযোগের জন্য শংসাপত্রের প্রয়োজন হতে পারে, একটি শংসাপত্র ফাইলের আকারে যা একজন ক্লায়েন্ট সরবরাহ করে এবং অবশ্যই সার্ভারের অনুলিপির সাথে মেলে। ব্যর্থতার ক্ষেত্রে, দালাল সফ্টওয়্যার এবং ক্লায়েন্টরা স্বয়ংক্রিয়ভাবে একটি অপ্রয়োজনীয়/স্বয়ংক্রিয় ব্যাকআপ দালালকে হস্তান্তর করতে পারে। ব্যাকআপ দালালদের সাইটে, ক্লাউডে বা এগুলির সংমিশ্রণে একাধিক সার্ভার জুড়ে ক্লায়েন্টদের লোড ভাগ করে নেওয়ার জন্য সেট আপ করা যেতে পারে। ব্রোকার স্পার্কপ্লাগের মতো সঙ্গতিপূর্ণ নির্দিষ্টকরণের জন্য স্ট্যান্ডার্ড এমকিউটিটি এবং এমকিউটিটি উভয়কেই সমর্থন করতে পারে। এটি একই সার্ভারের সাথে একই সময়ে এবং একই স্তরের সুরক্ষার সাথে করা যেতে পারে। ব্রোকার "স্থায়ী সেশন" নামে একটি ফাংশনে ডিভাইসটি চালু এবং বন্ধ হওয়ার সাথে সাথে সেশনের সমস্ত তথ্যের উপর নজর রাখে। এই অবস্থায়, একজন দালাল প্রতিটি ক্লায়েন্টের জন্য সংযোগের তথ্য, প্রতিটি ক্লায়েন্টের সাবস্ক্রাইব করা বিষয় এবং 1 বা 2 এর কিউওএস সহ কোনও বিষয়ের জন্য যে কোনও বার্তা উভয়ই সংরক্ষণ করবে। এমকিউটিটি ব্রোকারের প্রধান সুবিধাগুলি হ 'লঃ দুর্বল এবং অনিরাপদ ক্লায়েন্ট সংযোগগুলি দূর করে, যদি কনফিগার করা হয় সহজেই একক ডিভাইস থেকে হাজার হাজার পর্যন্ত স্কেল করতে পারে সুরক্ষা শংসাপত্র এবং শংসাপত্র সহ সমস্ত ক্লায়েন্ট সংযোগের অবস্থা পরিচালনা করে এবং ট্র্যাক করে, যদি সুরক্ষার সাথে আপস না করে হ্রাসকৃত নেটওয়ার্ক স্ট্রেনে কনফিগার করা হয়, যদি কনফিগার করা হয় (সেলুলার বা স্যাটেলাইট নেটওয়ার্ক) বার্তা প্রকারগুলি সার্ভারের সাথে সংযোগ স্থাপনের জন্য অপেক্ষা করে এবং নোডগুলির মধ্যে একটি লিঙ্ক তৈরি করে। এমকিউটিটি ক্লায়েন্টের যে কোনও কাজ শেষ করার জন্য এবং টিসিপি/আইপি সেশনের সংযোগ বিচ্ছিন্ন করার জন্য অপেক্ষা করুন। এমকিউটিটি ক্লায়েন্টের কাছে অনুরোধটি পাঠানোর পরে অবিলম্বে অ্যাপ্লিকেশন থ্রেডে রিটার্ন প্রকাশ করুন। সংস্করণ 5.0 2019 সালে, ও. এ. এস. আই. এস অফিসিয়াল এম. কিউ. টি. টি 5 মান প্রকাশ করেছে। সংস্করণ 5-এ নিম্নলিখিত প্রধান নতুন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছেঃ কারণ কোডঃ স্বীকৃতিগুলি এখন রিটার্ন কোডগুলিকে সমর্থন করে, যা ব্যর্থতার কারণ প্রদান করে। ভাগ করা সদস্যপদঃ ক্লায়েন্টদের মধ্যে লোডকে ভারসাম্যপূর্ণ হতে দিন এবং এইভাবে লোড সমস্যার ঝুঁকি হ্রাস করুন বার্তা মেয়াদ শেষ হওয়ার তারিখঃ বার্তাগুলিতে একটি মেয়াদ শেষ হওয়ার তারিখ অন্তর্ভুক্ত থাকতে পারে এবং এই সময়ের মধ্যে বিতরণ না করা হলে সেগুলি মুছে ফেলা হয়। বিষয় উপনামঃ একটি বিষয়ের নাম একটি একক সংখ্যা এমকিউটিটি 5 দিয়ে প্রতিস্থাপন করা যেতে পারে যা কিউইউআইসি পরিবহন প্রোটোকলের মাধ্যমে এমকিউটিটি সংযোগগুলিকেও সমর্থন করে। কিউইউআইসি-র উপর এমকিউটিটি সংযোগ প্রক্রিয়া চলাকালীন এক্সচেঞ্জের সংখ্যা হ্রাস করে, সামগ্রিক বিলম্বতা হ্রাস করে এবং নেটওয়ার্কের ভিড় এবং স্যুইচিংয়ের আরও ভাল পরিচালনার প্রস্তাব দিয়ে উন্নত কর্মক্ষমতা প্রদান করে। পরিষেবার গুণমান দালালকে দেওয়া প্রতিটি সংযোগ একটি কিউ. ও. এস পরিমাপ নির্দিষ্ট করতে পারে। এগুলি ওভারহেডের ক্রমবর্ধমান ক্রমে শ্রেণীবদ্ধ করা হয়েছেঃ সর্বাধিক একবার-বার্তাটি কেবল একবার পাঠানো হয় এবং ক্লায়েন্ট এবং দালাল ডেলিভারি স্বীকার করার জন্য কোনও অতিরিক্ত পদক্ষেপ নেয় না (আগুন এবং ভুলে যাওয়া)। অন্তত একবার-বার্তাটি প্রেরক দ্বারা একাধিকবার পুনরায় চেষ্টা করা হয় যতক্ষণ না স্বীকৃতি পাওয়া যায় (স্বীকৃত বিতরণ)। ঠিক একবার-বার্তাটির শুধুমাত্র একটি অনুলিপি পাওয়া যায় (নিশ্চিত বিতরণ) তা নিশ্চিত করার জন্য প্রেরক এবং প্রাপক দ্বিস্তরীয় হাত মেলান। এই ক্ষেত্রটি অন্তর্নিহিত টিসিপি ডেটা ট্রান্সমিশনের পরিচালনাকে প্রভাবিত করে না; এটি শুধুমাত্র এমকিউটিটি প্রেরক এবং প্রাপকদের মধ্যে ব্যবহৃত হয়। এমকিউটিটি প্রোটোকলের নিরাপত্তা নিরাপত্তা 2020 সালে ইতালীয় গবেষকদের দ্বারা আপোস করা হয়েছিল, এই ধরনের প্রোটোকলের উপর ধীর ডিওএস আক্রমণ সম্পাদন করে (সিভিই-2020-13849 দেখুন)। আরও দেখুন এমকিউটিটি বাস্তবায়নের তুলনা অ্যাডভান্সড মেসেজ কিউইং প্রোটোকল (এএমকিউপি) স্ট্রিমিং টেক্সট ওরিয়েন্টেড মেসেজিং প্রোটোকল (এসটিওএমপি) কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকল (সিওএপি) অ্যাপাচি অ্যাক্টিভএমকিউ সোলেস পাবসব + র্যাবিটএমকিউ নোটস রেফারেন্স এক্সটার্নাল লিঙ্ক টেকনিক্যাল কমিটির অফিসিয়াল ওয়েবসাইট এমকিউটিটি স্পেসিফিকেশনের সংস্করণ 5,2019-03-07: পিডিএফ সংস্করণ, এইচটিএমএল সংস্করণ সংস্করণ 3.1.1 প্লাস এর্রাটা 01,2015-12-10: পিডিএফ সংস্করণ, এইচটিএমএল সংস্করণ সংস্করণ 3.1.1,2014-10-29: পিডিএফ সংস্করণ, এইচটিএমএল সংস্করণ সংস্করণ 3.1,2010: পিডিএফ সংস্করণ, এইচটিএমএল সংস্করণ এমকিউটিটি-এসএন নির্দিষ্টকরণ সংস্করণ 1.2,2013-11-14: পি