Bỏ qua tới nội dung
LSLab

MQTT chuyển bản tin qua broker như thế nào?

  • Cơ bản
  • Bài viết
  • Từ 15 tuổi
  • 4 phút đọc
Cảm biến chất lượng không khí, gateway Wi-Fi hai ăng-ten và máy tính bảng được đặt cùng nhau trên bàn lab.

Bài này mô tả MQTT phiên bản 5.0. MQTT là giao thức nhẹ truyền bản tin theo kiểu xuất bản và đăng ký. Thiết bị xuất bản bản tin kèm một chủ đề, broker ở giữa nhận bản tin và chuyển cho những thiết bị đã đăng ký chủ đề đó. Các bên không cần biết nhau.

Mục lục
Một bên xuất bản, broker chuyển cho nhiều bên đăng ký.
  • Bên xuất bản
  • Broker
  • Bên đăng ký

Bạn sẽ học được gì

Cần biết trước

Nên biết thiết bị IoT kết nối mạng như thế nào.

Broker chuyển bản tin như thế nào?

MQTT là giao thức truyền tải bản tin kiểu xuất bản và đăng ký, theo mô hình máy khách và máy chủ. Máy chủ là chương trình hoặc thiết bị đứng giữa các máy khách xuất bản bản tin và các máy khách đã đăng ký.

Broker chuyển bản tin tới các bên đăng ký phù hợp dựa trên cấu trúc chủ đề. MQTT nhẹ, mở, đơn giản và được thiết kế để dễ triển khai.

Broker chỉ chuyển bản tin cho bên đã đăng ký đúng chủ đề.
  • Bên xuất bản
  • Bản tin kèm chủ đề
  • Broker
  • Bên đăng ký đúng chủ đề
  • Bên không đăng ký

Chủ đề và ký tự thay thế hoạt động ra sao?

Tên chủ đề là nhãn gắn vào bản tin, được đối chiếu với các đăng ký mà máy chủ biết. Bộ lọc chủ đề là biểu thức trong một đăng ký để chỉ ra mối quan tâm tới một hoặc nhiều chủ đề.

Dấu gạch chéo ngăn cách các cấp chủ đề. Ký tự + khớp đúng một cấp và phải chiếm trọn một cấp trong bộ lọc. Ký tự # khớp cấp cha cùng mọi số cấp con; nó phải đứng riêng hoặc theo sau dấu /, và là ký tự cuối của bộ lọc.

Chủ đề xếp thành cây; ký tự + gom các chủ đề khớp ở cùng một cấp.
  • Gốc của cây chủ đề
  • Một cấp chủ đề
  • Ký tự + gom các chủ đề cùng cấp

Ba mức chất lượng dịch vụ khác nhau thế nào?

MQTT có ba mức chất lượng dịch vụ: QoS 0 (tối đa một lần) dùng cơ chế nỗ lực tốt nhất; QoS 1 (tối thiểu một lần) bảo đảm giao nhưng có thể trùng lặp; QoS 2 (đúng một lần) bảo đảm chỉ giao một lần. Các mức này mô tả từng chặng giao từ một bên gửi tới một bên nhận; broker xử lý riêng từng bên nhận.

Mức càng cao thì càng nhiều lượt xác nhận.
  • Tối đa một lần: chỉ gửi
  • Tối thiểu một lần: có xác nhận
  • Đúng một lần: xác nhận nhiều bước

MQTT còn tách rời theo thời gian, cho phép broker lưu bản tin cho máy khách chưa trực tuyến, khi phiên và đăng ký còn hiệu lực. Việc lưu còn phụ thuộc QoS của bản tin, thời hạn bản tin và chính sách của broker. Nếu máy khách đã cấu hình bản tin di chúc (will), máy chủ có thể xuất bản nó sau khi kết nối đóng không bình thường; thời điểm còn phụ thuộc Will Delay và phiên.

Ví dụ trong đời sống

Hãy cùng người lớn nghĩ về một cảm biến nhiệt độ trong nhà. Cảm biến xuất bản số đo lên một chủ đề. Điện thoại và một màn hình trong nhà cùng đăng ký chủ đề đó nên cùng nhận số đo.

Hiểu lầm thường gặp

Thiết bị phải nối trực tiếp với nhau. Qua mô hình xuất bản và đăng ký, các ứng dụng được tách rời nhau và đi qua broker.

Bản tin nào cũng đến đúng một lần. Đó chỉ là một trong ba mức; mức tối thiểu một lần có thể trùng lặp.

Câu hỏi thường gặp

MQTT là gì?

MQTT là giao thức truyền tải bản tin kiểu xuất bản và đăng ký, nhẹ và đơn giản.

Broker làm gì?

Broker chuyển bản tin tới các bên đăng ký phù hợp dựa trên cấu trúc chủ đề.

Ký tự thay thế để làm gì?

Ký tự + khớp đúng một cấp chủ đề và phải chiếm trọn cấp đó trong bộ lọc; # khớp cấp cha cùng mọi số cấp con, phải đứng riêng hoặc theo sau dấu /, và là ký tự cuối bộ lọc.

Bản tin di chúc là gì?

Là bản tin máy khách cấu hình để máy chủ có thể xuất bản sau khi kết nối đóng không bình thường, tùy thời gian trễ và trạng thái phiên.

Tóm tắt

  • MQTT dùng mô hình xuất bản và đăng ký, với broker chuyển bản tin theo chủ đề.
  • Chủ đề xếp phân cấp bằng dấu gạch chéo, và ký tự thay thế khớp nhiều chủ đề.
  • QoS 0 là tối đa một lần, QoS 1 là tối thiểu một lần, QoS 2 là đúng một lần cho từng chặng giao giữa một bên gửi và một bên nhận.

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

MQTT
Giao thức nhẹ truyền bản tin kiểu xuất bản và đăng ký giữa máy khách và máy chủ.
Broker
Máy chủ trung gian nhận bản tin và chuyển cho các bên đăng ký phù hợp.
Chủ đềTopic
Nhãn gắn vào bản tin; dấu / chia tên chủ đề thành các cấp.
Ký tự thay thếWildcard
Ký tự trong bộ lọc chủ đề: + khớp một cấp và chiếm trọn cấp đó; # khớp cấp cha cùng các cấp con, đứng cuối bộ lọc.
Chất lượng dịch vụQuality of Service
Mức bảo đảm giao bản tin: tối đa một lần, tối thiểu một lần hoặc đúng một lần.
Bản tin di chúcWill message
Bản tin máy khách cấu hình để máy chủ có thể xuất bản sau khi kết nối đóng không bình thường, tùy thời gian trễ và trạng thái phiên.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.