MQTTکه مخفف عبارت Message Queuing Telemetry Transport است، یک پروتکل پیام رسانی سبک است که برای دستگاه های محدود و شبکه های با پهنای باند کم و با تأخیر بالا طراحی شده است. این به ویژه برای اتصالات از راه دور که در آن یک کد کوچک مورد نیاز است یا پهنای باند شبکه محدود است مفید است.
MQTT 5 آخرین نسخه این پروتکل است که پیشرفت های زیادی را نسبت به نسخه های قبلی خود ارائه می دهد. ویژگیهای جدید شامل کدهای دلیل، فواصل انقضای جلسه، نام مستعار موضوع، ویژگیهای کاربر، گزینههای اشتراک، ویژگیهای درخواست/پاسخ، و اشتراکهای مشترک است.
ما این ویژگیهای جدید را بررسی میکنیم، توضیح میدهیم که چگونه کارگزاران محبوب و SDKهای مشتری از MQTT 5 پشتیبانی میکنند، و برخی ملاحظات کلیدی هنگام مهاجرت از MQTT 3.1.1 به MQTT 5.
تاریخچه مختصر و تکامل MQTT 5
MQTT برای اولین بار در اواخر دهه 1990 توسط دکتر اندی استنفورد کلارک از IBM و آرلن نیپر از Arcom (اکنون Eurotech) برای نظارت بر خطوط لوله نفت از طریق شبکه های ماهواره ای توسعه یافت. نسخه اولیه MQTT v3.1 به گونه ای طراحی شده بود که سبک وزن و پیاده سازی آن آسان باشد و برای بسیاری از دستگاه های IoT مناسب باشد.
MQTT 3.1.1، یک استاندارد OASIS، در سال 2014 منتشر شد که شامل تغییرات جزئی در پروتکل برای بهبود وضوح و قابلیت همکاری آن بود. سادگی و کارایی آن در ارسال پیام از طریق شبکه هایی با منابع محدود منجر به پذیرش گسترده آن در برنامه های کاربردی اینترنت اشیا شد.
با این حال، همانطور که صنعت IoT تکامل یافت، نیازهای برنامه های کاربردی آن نیز افزایش یافت. این منجر به توسعه MQTT 5 شد که در سال 2019 منتشر شد و ویژگی های جدیدی را برای رفع این نیازهای در حال تغییر معرفی کرد. با ویژگی های پیشرفته خود، MQTT 5 برای رسیدگی به نیازهای پیچیده برنامه های مدرن اینترنت اشیا مجهزتر است.
7 ویژگی جدید در MQTT v5
کدهای دلیل: درک قطع شدن یا شکست
بر خلاف پیشینیان خود، MQTT 5 می تواند یک کد دلیل برای هر بسته اعتراف، به ما درک بهتری از علت قطع یا خرابی می دهد. این بهبود به عیب یابی کمک می کند و امکان رسیدگی دقیق تر خطا را فراهم می کند.
به عنوان مثال، اگر یک کلاینت نتواند به سرور متصل شود، سرور یک کد دلیل را برمیگرداند که توضیح میدهد چرا اتصال ناموفق بوده است. این ممکن است به دلیل طیف وسیعی از مشکلات باشد، از اعتبارنامه اشتباه ورود به سیستم تا در دسترس نبودن سرور.
فواصل انقضای جلسه: مدیریت طول عمر جلسات
این ویژگی به مشتری این امکان را می دهد که نحوه انجام آن را مشخص کند سرور باید جلسه خود را برای مدت طولانی حفظ کند پس از قطع ارتباط مشتری در نسخه های قبلی MQTT، یک جلسه یا بلافاصله پس از قطع اتصال به پایان می رسید یا به طور نامحدود ادامه می یافت.
با MQTT 5، می توانید دوره خاصی را تعریف کنید که پس از قطع شدن، جلسه باید زنده بماند. این انعطاف پذیری بیشتری را در مدیریت طول عمر جلسات و حفظ منابع روی سرور فراهم می کند.
MQTT 5 معرفی می کند نام مستعار موضوع برای کاهش سربار در سرصفحه های پیام. در نسخههای قبلی، نام موضوع باید در هر پیام گنجانده شود، که منجر به اندازههای بزرگتر بسته میشود.
با نام مستعار موضوعی، می توان یک نام مستعار عددی کوتاه به یک موضوع اختصاص داد. این نام مستعار را می توان به جای نام کامل موضوع در پیام های بعدی استفاده کرد که به طور قابل توجهی اندازه هدر MQTT را کاهش می دهد و پهنای باند شبکه را حفظ می کند.
این ویژگی به کاربران اجازه می دهد تا ابرداده های سفارشی را در هدر بسته های MQTT قرار دهند. این می تواند به ویژه برای برنامه هایی مفید باشد که نیاز به ارسال اطلاعات اضافی با پیام های MQTT خود دارند، مانند مهر زمانی پیام، مکان دستگاه، یا سایر داده های خاص برنامه، ویژگی های کاربر انعطاف پذیری و کنترل بیشتری را بر روی پیام های MQTT ارائه می دهد.
گزینه های اشتراک: کنترل های اشتراک دانه ای
MQTT 5 به مشتریان اجازه می دهد تا مشخص کنند چگونه آنها می خواهند برای هر موضوع مشترک پیام دریافت کنند. به عنوان مثال، مشتریان اکنون میتوانند تعیین کنند که آیا میخواهند پیامهای حفظ شده را برای یک اشتراک خاص دریافت کنند یا اینکه آیا میخواهند پیامهایی را دریافت کنند، حتی اگر همان سطح QoS (کیفیت خدمات) اشتراک را داشته باشند.
درخواست/پاسخ: اجازه دادن به مشتریان برای پاسخ به یک موضوع مشخص
La ویژگی درخواست/پاسخ به مشتری اجازه می دهد تا موضوعی را مشخص کند که سرور می تواند از آن برای ارسال پاسخ مستقیم استفاده کند.
در نسخه های قبلی MQTT، اگر مشتری می خواست پاسخی به پیامی ارسال کند، باید پاسخ یک موضوع را منتشر می کرد و فرستنده اصلی باید در آن موضوع مشترک می شد تا پاسخ را دریافت کند. با ویژگی درخواست/پاسخ MQTT 5، ارتباط بین مشتریان و سرورها بسیار کارآمدتر و ساده تر می شود.
اشتراک اشتراکی: عملکرد متعادل کننده بار برای مشترکین
این ویژگی به چندین مشتری امکان می دهد اشتراکی را به اشتراک بگذارند. هنگامی که یک پیام در یک موضوع مشترک منتشر می شود، سرور پیام را بین یکی از مشتریان در اشتراک مشترک توزیع می کند و به طور موثر پیام ها را متعادل می کند.
این ویژگی به ویژه در سناریوهایی مفید است که چندین نمونه از یک سرویس در حال اجرا دارید و میخواهید حجم کار را به طور مساوی بین آنها توزیع کنید.
پشتیبانی فعلی از SDK های کارگزار و مشتری در MQTT 5.0
پروتکل MQTT 5.0 با استقبال خوبی از سوی جامعه اینترنت اشیا مواجه شده است، و تعداد زیادی از آن کارگزاران MQTT و کیت های توسعه نرم افزار مشتری (SDK) پشتیبانی از آن را اضافه کرده اند. کارگزاران اصلی MQTT قبلاً ویژگیهای MQTT 5.0 را در پلتفرمهای خود پیادهسازی کردهاند و به کاربران اجازه میدهند از مزایای پروتکل جدید استفاده کنند.
در بخش SDK مشتری، کتابخانههایی مانند Paho که پایگاه کاربری گستردهای دارند، پشتیبانی از MQTT 5.0 را اضافه کردهاند. این بدان معناست که توسعه دهندگان اکنون می توانند از ویژگی های MQTT 5.0 در برنامه های IoT خود استفاده کنند. نمونههای دیگر از SDKهای مشتری که از MQTT 5.0 پشتیبانی میکنند، MQTT.js و MQTTnet هستند.
چک لیست مهاجرت از MQTT 3.1.1 به MQTT 5
اگر در حال حاضر از MQTT 3.1.1 استفاده می کنید، احتمالاً زمان آن فرا رسیده است که به MQTT 5 ارتقا دهید. در اینجا برخی از موارد اصلی وجود دارد که باید در هنگام حرکت در نظر بگیرید.
کارگزاران MQTT را به روز کنید
هنگامی که زیرساخت فعلی خود را ارزیابی کردید و تصمیم گرفتید که مهاجرت را ادامه دهید، گام بعدی این است که کارگزاران MQTT خود را به روز کنید. این شامل نصب آخرین نسخه کارگزار MQTT شما است که از MQTT 5.0 پشتیبانی می کند.
ارتقاء کارگزار شما باید با احتیاط انجام شود، زیرا بر همه شما تأثیر می گذارد مشتریان MQTT. توصیه می شود ابتدا کارگزار جدید را در یک محیط غیر تولیدی قبل از عرضه در مرحله تولید آزمایش کنید. همچنین، اطمینان حاصل کنید که پیکربندی کارگزار شما در صورت لزوم برای پشتیبانی از ویژگی های جدید معرفی شده در MQTT 5.0 به روز شده است.
کتابخانه های مشتری را به روز کنید
پس از به روز رسانی کارگزاران MQTT خود، گام بعدی این است که کتابخانه های مشتری MQTT خود را به روز کنید. دقیقاً مانند بهروزرسانی بروکر، ابتدا باید این بهروزرسانی را در یک محیط غیر تولیدی انجام دهید. همچنین، مطمئن شوید که کد برنامه شما برای کنترل ویژگیهای جدید MQTT 5.0 بهروزرسانی شده است. در نظر داشته باشید که این ممکن است شامل مقداری بازآفرینی کد باشد.
امنیت آدرس
در حالی که MQTT 5.0 چندین پیشرفت را به همراه دارد، ملاحظات امنیتی جدیدی را نیز معرفی می کند. به عنوان مثال، با ویژگی ویژگی کاربر جدید، مشتریان اکنون می توانند داده های سفارشی را برای کارگزار ارسال کنند.
در حالی که این یک ویژگی قدرتمند است، اگر به درستی استفاده نشود، می توان از آن سوء استفاده کرد. بنابراین، ارزیابی تمام ویژگیهای جدید از منظر امنیتی مهم است.
برخی از مراحلی که میتوانید برای رسیدگی به امنیت انجام دهید شامل استفاده از ویژگی جدید احراز هویت پیشرفته برای امنیت قویتر، محدود کردن ویژگیهای کاربر است که مشتریان میتوانند فقط به موارد ضروری ارسال کنند، و نظارت مستمر برای هرگونه فعالیت مشکوک.
مانیتور بعد از مهاجرت
در نهایت، پس از مهاجرت به MQTT 5.0 و پیاده سازی ویژگی های آن، نظارت مداوم بر سیستم خود بسیار مهم است. نظارت نباید فقط به جنبه های فنی مانند تحویل پیام یا اتصالات مشتری محدود شود.
همچنین باید استفاده از ویژگی های جدید MQTT 5.0 را در برنامه های خود نظارت کنید. این به شما بینشی در مورد اینکه چگونه این ویژگیها برنامههای شما را بهبود میبخشند و جایی که میتوان بهبودهای بیشتری انجام داد، به شما میدهد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- : دارد
- :است
- :نه
- :جایی که
- 1
- 2014
- 2019
- 7
- a
- حساب
- فعالیت ها
- اضافه
- اضافی
- اطلاعات اضافی
- نشانی
- اتخاذ
- مستحب
- پس از
- پیش
- ایدز
- زنده
- معرفی
- اجازه دادن
- اجازه می دهد تا
- قبلا
- همچنین
- در میان
- an
- و
- هر
- کاربرد
- برنامه های کاربردی
- هستند
- AS
- جنبه
- ارزیابی کنید
- اختصاص داده
- تصدیق
- پهنای باند
- پایه
- BE
- شود
- بوده
- قبل از
- بودن
- مزایای
- بهتر
- میان
- به ارمغان می آورد
- پهن
- دلال
- کارگزاران
- by
- CAN
- اهميت دادن
- تبادل
- متغیر
- وضوح
- مشتری
- مشتریان
- رمز
- کد
- ارتباط
- انجمن
- پیچیده
- پیکر بندی
- اتصال
- ارتباط
- اتصالات
- در نظر بگیرید
- ملاحظات
- ادامه داد:
- به طور مداوم
- کنترل
- به درستی
- میتوانست
- مجوزها و اعتبارات
- جاری
- در حال حاضر
- سفارشی
- داده ها
- مصمم
- تعريف كردن
- تحویل
- تحویل
- طراحی
- توسعه
- توسعه دهندگان
- پروژه
- دستگاه
- دستگاه ها
- DID
- مستقیم
- قطع
- توزیع کردن
- انجام شده
- dr
- دو
- هر
- پیش از آن
- ساده
- به طور موثر
- بهره وری
- موثر
- هر دو
- به پایان رسید
- افزایش
- افزایش
- اطمینان حاصل شود
- محیط
- مجهز بودن
- خطا
- ارزیابی
- حتی
- به طور مساوی
- هر
- تکامل
- تکامل
- مثال
- مثال ها
- انقضا
- توضیح دهید
- توضیح دادن
- سوء استفاده قرار گیرد
- اکتشاف
- نتواند
- شکست
- ویژگی
- امکانات
- نام خانوادگی
- انعطاف پذیری
- رد پا
- برای
- از جانب
- جلو
- کامل
- تابع
- بیشتر
- دادن
- دادن
- Go
- بیشتر
- بود
- دسته
- اداره
- آیا
- هدر
- اینجا کلیک نمایید
- تاریخ
- چگونه
- HTTPS
- آی بی ام
- if
- بلافاصله
- اثرات
- انجام
- اجرا
- مهم
- بهبود
- بهبود
- ارتقاء
- in
- شامل
- مشمول
- صنعت
- اطلاعات
- شالوده
- اول
- بینش
- نصب کردن
- نمونه
- نمونه ها
- قابلیت همکاری
- به
- معرفی
- معرفی می کند
- شامل
- شامل
- اینترنت اشیا
- دستگاه های iot
- مسائل
- IT
- ITS
- JPG
- تنها
- نگه داشته شد
- کلید
- بزرگتر
- دیر
- آخرین
- برجسته
- رهبری
- سطح
- قدرت نفوذ
- کتابخانه ها
- سبک وزن
- پسندیدن
- محدود شده
- محل
- ورود
- ساخته
- اصلی
- حفظ
- عمده
- ساخت
- مدیریت
- بسیاری
- حداکثر عرض
- به معنی
- پیام
- پیام
- پیام
- متاداده
- قدرت
- مهاجرت
- مهاجرت
- مهاجرت
- خردسال
- مدرن
- مانیتور
- نظارت بر
- بیش
- کارآمدتر
- حرکت
- بسیار
- چندگانه
- نام
- لازم
- نیاز
- ضروری
- نیازهای
- شبکه
- شبکه
- جدید
- ویژگی های جدید
- بعد
- اکنون
- واحه
- رخ داده است
- of
- ارائه
- نفت
- on
- ONE
- فقط
- گزینه
- or
- اصلی
- دیگر
- خارج
- روی
- بسته
- ویژه
- ویژه
- انجام دادن
- دوره
- چشم انداز
- محل
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- محبوب
- قوی
- دقیق
- قبلی
- شاید
- تولید
- املاک
- ویژگی
- پروتکل
- پروتکل
- ارائه
- فراهم می کند
- منتشر کردن
- منتشر شده
- کیفیت
- محدوده
- دلیل
- گرفتن
- اخذ شده
- كاهش دادن
- کاهش
- منتشر شد
- دور
- پاسخ
- ضروری
- مورد نیاز
- منابع
- پاسخ
- حفظ شده است
- برگشت
- نورد
- در حال اجرا
- همان
- ماهواره ای
- سناریوها
- sdk
- sdks
- تیم امنیت لاتاری
- ارسال
- فرستنده
- سرور
- سرورها
- سرویس
- جلسه
- چند
- اشتراک گذاری
- به اشتراک گذاشته شده
- کوتاه
- باید
- به طور قابل توجهی
- سادگی
- اندازه
- اندازه
- کوچک
- So
- نرم افزار
- توسعه نرم افزار
- برخی از
- خاص
- مشخص شده
- استاندارد
- می ایستد
- گام
- مراحل
- ساده
- قوی
- اشتراک، ابونمان
- اشتراک
- متعاقب
- چنین
- مناسب
- پشتیبانی
- حمایت از
- پشتیبانی از
- مشکوک
- سیستم
- گرفتن
- فنی
- آزمون
- که
- La
- شان
- آنها
- از این رو
- اینها
- آنها
- اشیاء
- این
- زمان
- برچسب زمان
- به
- موضوع
- حمل و نقل
- درک
- بروزرسانی
- به روز شده
- به روز رسانی
- ارتقاء
- بر
- us
- استفاده
- استفاده کنید
- استفاده
- کاربر
- کاربران
- با استفاده از
- استفاده کنید
- نسخه
- می خواهم
- خواسته
- بود
- خوب
- چه زمانی
- چه
- که
- چرا
- بطور گسترده
- اراده
- با
- شما
- شما
- زفیرنت