จำเป็นหรือไม่ที่จะต้องสร้างหมายเลข axe ของ MQTT สำหรับจำนวน x ของอุปกรณ์?


9

ขณะนี้ในโครงการของฉันซึ่งคอนโทรลเลอร์ (ไคลเอนต์) ส่งข้อมูลเซ็นเซอร์ไปยังเซิร์ฟเวอร์และรับข้อเสนอแนะจากเซิร์ฟเวอร์ด้วยข้อมูลเพิ่มเติมให้ใช้โปรโตคอล MQTT สำหรับการสื่อสาร มี 2 ​​หัวข้อแยกกันสำหรับไคลเอนต์และเซิร์ฟเวอร์

ตัวอย่างเช่น:

Topic1 - ไคลเอนต์ (สมัครสมาชิก), เซิร์ฟเวอร์ (เผยแพร่) หัวข้อ 2
- ไคลเอนต์ (เผยแพร่), เซิร์ฟเวอร์ (สมัครสมาชิก)

แต่ถ้าโครงการนี้เป็นกรณีการใช้งานของแอพพลิเคชั่นที่มีขนาดใหญ่กว่าสมมติว่ามีอุปกรณ์ 5000 ชิ้นที่ต้องติดตั้งที่ไหนสักแห่ง

ดังนั้นจะต้องสร้างหัวข้อที่แตกต่างกัน 5,000 รายการสำหรับทั้งไคลเอนต์และเซิร์ฟเวอร์หรือไม่? หรือมีหัวข้อที่น้อยกว่าก็สามารถทำได้และอย่างไร


1
ทำไมคุณคิดว่ามันเป็นปัญหาที่มีหัวข้อมากมาย?
hardillb

1
อาจเป็นเพราะซอฟต์แวร์จะต้องจัดการพวกเขาทั้งหมด
Mawg พูดว่าคืนสถานะโมนิก้า

1
@hardillb ไม่ใช่ปัญหา ... แค่อยากรู้อยากเห็น ... แต่ MQTT สามารถมีหัวข้อย่อยได้หรือไม่?
ron123456

2
แน่นอนว่าหัวข้อนั้นเป็นลำดับขั้นเพื่อให้โครงร่างใด ๆ สามารถออกแบบได้ Sparkplug s3.amazonaws.com/cirrus-link-com/…มีหัวข้อต่อโหนดขอบและอุปกรณ์ที่อยู่ด้านหลังโหนดโหนด
สนับสนุน Gambit

คำตอบ:


5

จากไคลเอนต์ไปยังเซิร์ฟเวอร์คุณอาจแพ็ครหัสลูกค้าลงใน payload เช่นถ้าเป็น JSON หนึ่งในคีย์สามารถมีค่ารหัสลูกค้า

การตอบสนองจากเซิร์ฟเวอร์ไปยังไคลเอนต์ควรมี client-id เพื่อโบรคเกอร์เพื่อไม่เผยแพร่ข้อความ

ในเวลาเดียวกันคุณสามารถสมัครสมาชิกเซิร์ฟเวอร์ของคุณกับ: "ร้องขอ / +" และลูกค้าแต่ละคนจะเผยแพร่ไปที่ "คำขอ / {client-id-1}", "คำขอ / {ลูกค้า -id-2}" และเซิร์ฟเวอร์ จะได้รับทั้งสองอย่างด้วยการสมัครสมาชิกเพียงครั้งเดียว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.