Mosquitto روی سرور شخصی یا بروکر MQTT ابری؟
راهاندازی Mosquitto روی سرور خودتان چه کارهایی دارد و چه زمانی یک بروکر MQTT ابری مثل mqttcloud.ir انتخاب سادهتری است؛ مقایسهای بیطرفانه.
Mosquitto چیست؟#
Mosquitto یک بروکر MQTT متنباز و سبک است که روی تقریباً هر سرور لینوکسی و حتی رزبریپای اجرا میشود. برای خیلی از پروژهها، اولین انتخاب برای داشتن بروکر اختصاصی همین است. نصب آن ساده است؛ کار اصلی بعد از نصب شروع میشود.
برای یک بروکر قابل اعتماد چه باید کرد؟#
- سرور: یک سرور با IP ثابت یا دامنه، که همیشه روشن و در دسترس باشد.
- TLS: گرفتن گواهی (مثلاً از Let's Encrypt)، تنظیم listener روی پورت 8883 و تمدید خودکار گواهی؛ اگر تمدید فراموش شود، همه دستگاهها یکباره قطع میشوند.
- کاربرها: ساخت نام کاربری و رمز با
mosquitto_passwdو جلوگیری از اتصال ناشناس. - دسترسی به تاپیکها: نوشتن فایل ACL تا هر کاربر فقط به تاپیکهای خودش دسترسی داشته باشد.
- WebSocket: اگر داشبورد وب دارید، یک listener جدا و معمولاً یک reverse proxy.
- نگهداری: بهروزرسانی سیستمعامل و Mosquitto، پشتیبانگیری از تنظیمات و پایش اینکه سرویس بالا است.
یک بروکر ابری چه چیزی را عوض میکند؟#
در mqttcloud.ir این موارد از قبل آماده است: اتصال TLS روی پورت 8883 با گواهی معتبر، WebSocket امن روی wss://mqtt.mqttcloud.ir/mqtt، و جداسازی خودکار تاپیکها؛ هر اکانت فقط به تاپیکهایی دسترسی دارد که با نام کاربری خودش شروع میشوند.
اکانتها و دستگاهها را از داشبورد فارسی میسازید و فقط شناسههایی که ثبت کردهاید اجازه اتصال دارند. وضعیت آنلاین دستگاهها، تاریخچه اتصال (۳۰ روز) و پیامهای اخیر (۷ روز) را هم همانجا میبینید که برای عیبیابی کمک بزرگی است. پرداخت هم ریالی و با کارت بانکی است.
کدام را انتخاب کنیم؟#
Mosquitto روی سرور خودتان وقتی منطقی است که:
- به تنظیمات خاصی نیاز دارید که سرویسهای آماده ارائه نمیدهند
- بروکر باید داخل شبکه محلی و بدون اینترنت کار کند
- تیمی دارید که نگهداری سرور را بر عهده بگیرد
بروکر ابری وقتی منطقی است که:
- میخواهید روی خود پروژه تمرکز کنید، نه روی سرور
- به اتصال امن از اینترنت و مدیریت ساده کاربرها و دستگاهها نیاز دارید
- پروژه کوچک تا متوسط است و نمیخواهید هزینه و زمان نگهداری بدهید
برای شروع، اتصال اولین دستگاه به بروکر MQTT فقط چند دقیقه طول میکشد.
