Điều gì xảy ra khi không có bất kỳ người đăng ký nào cho một chủ đề trong MQTT?


12

Tình hình như sau:

Có một khách hàng, một nhà xuất bản, nó không được đăng ký vào bất kỳ chủ đề. Khách hàng này có một chủ đề riêng của mình và xuất bản biểu thức dữ liệu cho nó. Nhưng không có bất kỳ khách hàng nào khác đăng ký vào chủ đề này.

Vì vậy, khách hàng nghèo và cô đơn này có thể được coi là bất thường ( Chương 5.4.8 ).

Việc triển khai máy chủ có thể giám sát hành vi của Máy khách để phát hiện các sự cố bảo mật tiềm ẩn. Ví dụ:

  • [...]

  • Gửi tin nhắn không gửi được (không có người đăng ký cho các chủ đề)

không có ý tưởng về bao nhiêu khách hàng đã đăng ký vào chủ đề của nó. Vì vậy, nó không biết rằng nó có thể được coi là một khách hàng có hành vi bất thường.

Vì vậy, những gì xảy ra với một khách hàng như vậy sẽ phụ thuộc vào việc thực hiện máy chủ? Các thực hành là gì, nó nên được ngắt kết nối, nhưng sau đó nó sẽ không thử kết nối lại?

Câu trả lời:


9

Như bạn nói, nó phụ thuộc vào việc triển khai máy chủ, đặc biệt là QoS của tin nhắn được truyền nếu nó là "ít nhất một lần".

IMHO MQTT là một hệ thống phát sóng, không phải là giao thức đầu cuối giữa hai máy nên chúng tôi hoàn toàn không cần thuê bao mỗi khi chúng tôi tạo chủ đề.

Tôi có thể đăng bất cứ điều gì (nhiệt độ, ...) và hai tháng sau đó thực hiện một cái gì đó sẽ đọc nó, hoặc thậm chí loại bỏ nó và nghĩ về điều gì khác trong khi cảm biến của tôi vẫn xuất bản dữ liệu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.