เนื่องจากจำไม่ได้ว่าใครถามเรื่อง High Availability MQTT Cluster แต่ที่จำได้ผมบอกไปว่า Mosca + Haproxy น่าจะจบก็ไม่ได้ทำอะไรต่อเพราะน่าจะเข้าใจแล้ว แต่ก็คิดไปคิดมาก็เลยลองดูสักหน่อยว่าใช้ได้หรือเปล่า T_T จาก Blog ของ Lelylan อธิบายเรื่อง High Availability MQTT Cluster ไว้ได้ดีในเรื่องของการประยุกต์ใช้ Docker และ MQTT Broker ซึ่งถือว่าเป็น Micro Service ถ้าสนใจก็ลองไปอ่านได้ครับ

กลับมา Back to Basic เราจะไม่ใช้ Docker เพื่อให้เกิดความเข้าใจเรื่อง HA กับ MQTT Broker ในเบื้องต้นก่อนครั้งหน้า (ถ้าไม่ลืม) เราจะมาเล่น Docker Machine + Swarm + Compose ทำ High Availability MQTT Cluster กันอีกรอบ

Continue reading

Mosca เป็น MQTT Broker ที่พัฒนาโดยใช้ Node.js และเก็บข้อมูลบน LevelDB ทำให้ Mosca สามารถทำความเร็วในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว นอกจากนี้ยังสามารถเชื่อมต่อกับ ฐานข้อมูลอื่นเพื่อเก็บข้อมูลแบบ persistance ได้อีกด้วย การใช้งาน Mosca สามารถใช้งานผ่าน CLI และผ่าน Node.js App ได้อีกด้วย การติดตั้งสามารถติดตั้งผ่าน npm แล้วยังสามารถติดตั้งผ่าน Docker ได้อีกด้วย

มาลองเล่น Mosca ผ่าน Docker กัน สั่ง Docker run ได้เลยดังนี้

docker run -p 1883:1883 -p 80:80 -v /var/db/mosca:/db matteocollina/mosca


Continue reading

Mosca เป็น MQTT Broker ที่พัฒนาโดยใช้ Node.js และเก็บข้อมูลบน LevelDB ทำให้ Mosca สามารถทำความเร็วในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว นอกจากนี้ยังสามารถเชื่อมต่อกับ ฐานข้อมูลอื่นเพื่อเก็บข้อมูลแบบ persistance ได้อีกด้วย การใช้งาน Mosca สามารถใช้งานผ่าน CLI และผ่าน Node.js App ได้อีกด้วย

มาลองเล่น Mosca กัน ก่อนอื่นติดตั้ง Mosca ผ่าน npm กันก่อนดังนี้

npm install -g mosca bunyan

เมื่อติดตั้งเสร็จ ก็สามารถใช้งานได้เลยดังนี้

mosca --db ./db -v | bunyan

Mosca จะบอกเราว่า MQTT Broker ทำงานอยู่บน port 1883 ให้ลองทดสอบจาก MQTT Spy ดู
Continue reading