Lịch sử của MQTT
Giao thức MQTT được phát minh vào năm 1999 để sử dụng trong ngành dầu khí. Các kỹ sư cần một giao thức cho băng thông tối thiểu và tổn thất pin tối thiểu để theo dõi các đường ống dẫn dầu qua vệ tinh. Ban đầu, giao thức này được gọi là Vận chuyển hàng đợi tin nhắn từ xa do sản phẩm IBM MQ Series lần đầu tiên hỗ trợ giai đoạn đầu của nó. Vào năm 2010, IBM đã phát hành MQTT 3.1 dưới dạng giao thức mở và miễn phí cho bất kỳ ai thực hiện, giao thức này sau đó đã được gửi vào năm 2013 cho cơ quan đặc tả của Tổ chức vì sự tiến bộ của các tiêu chuẩn thông tin có cấu trúc (OASIS) để bảo trì. Vào năm 2019, một MQTT phiên bản 5 nâng cấp đã được OASIS phát hành. Giờ đây MQTT không còn là từ viết tắt nữa mà được coi là tên chính thức của giao thức.
Các thành phần của MQTT gồm những gì?
MQTT triển khai mô hình pub/sub bằng cách xác định clients và brokers như bên dưới.
Client
Client MQTT là bất kỳ thiết bị nào từ máy chủ đến bộ vi điều khiển chạy thư viện MQTT. Nếu client đang gửi tin nhắn, nó sẽ đóng vai trò là publisher và nếu đang nhận tin nhắn, nó sẽ đóng vai trò là subscriber. Về cơ bản, bất kỳ thiết bị nào giao tiếp bằng MQTT qua mạng đều có thể được gọi là client MQTT.
Broker
Broker MQTT là hệ thống phụ trợ điều phối các thông báo giữa các client khác nhau. Trách nhiệm của broker bao gồm nhận và lọc tin nhắn, xác định client đã subscribe
từng tin nhắn và gửi tin nhắn cho họ. Nó cũng chịu trách nhiệm cho các nhiệm vụ khác như:
- Ủy quyền và xác thực client MQTT
- Truyền tin nhắn đến các hệ thống khác để phân tích thêm
- Xử lý tin nhắn bị bỏ lỡ và client session
Kết nối
Client và broker bắt đầu giao tiếp bằng cách sử dụng kết nối MQTT. Client bắt đầu kết nối bằng cách gửi tin CONNECT cho broker MQTT. Broker xác nhận rằng kết nối đã được thiết lập bằng cách trả lời bằng thông báo CONNACK. Cả client MQTT và broker đều yêu cầu ngăn xếp TCP/IP để giao tiếp. Client không bao giờ kết nối với nhau, chỉ với broker.