MQTT, viết tắt của Message Queuing Telemetry Transport, là một giao thức nhắn tin nhẹ được thiết kế cho các thiết bị hạn chế và mạng có băng thông thấp, độ trễ cao. Nó đặc biệt hữu ích cho các kết nối từ xa yêu cầu dung lượng mã nhỏ hoặc băng thông mạng bị hạn chế.
MQTT 5 là phiên bản mới nhất của giao thức, cung cấp nhiều cải tiến so với các phiên bản trước. Các tính năng mới bao gồm mã lý do, khoảng thời gian hết hạn của phiên, bí danh chủ đề, thuộc tính người dùng, tùy chọn đăng ký, tính năng yêu cầu/phản hồi và đăng ký chia sẻ.
Chúng tôi sẽ khám phá những tính năng mới này, giải thích cách các nhà môi giới và SDK khách hàng phổ biến hỗ trợ MQTT 5 và một số cân nhắc chính khi di chuyển từ MQTT 3.1.1 sang MQTT 5.
Tóm tắt lịch sử và sự phát triển của MQTT 5
MQTT được phát triển lần đầu tiên vào cuối những năm 1990 bởi Tiến sĩ Andy Stanford-Clark của IBM và Arlen Nipper của Arcom (nay là Eurotech), để giám sát các đường ống dẫn dầu qua mạng vệ tinh. Phiên bản ban đầu, MQTT v3.1, được thiết kế gọn nhẹ và dễ triển khai, phù hợp với nhiều thiết bị IoT.
MQTT 3.1.1, một tiêu chuẩn OASIS, được phát hành vào năm 2014, bao gồm những thay đổi nhỏ đối với giao thức để cải thiện tính rõ ràng và khả năng tương tác của nó. Tính đơn giản và hiệu quả của nó trong việc gửi tin nhắn qua mạng với nguồn lực hạn chế đã dẫn đến việc áp dụng rộng rãi trong các ứng dụng IoT.
Tuy nhiên, khi ngành công nghiệp IoT phát triển, nhu cầu về các ứng dụng của nó cũng tăng theo. Điều này dẫn đến sự phát triển của MQTT 5, được phát hành vào năm 2019, giới thiệu các tính năng mới để giải quyết những nhu cầu thay đổi này. Với các tính năng nâng cao, MQTT 5 được trang bị tốt hơn để xử lý các yêu cầu phức tạp của các ứng dụng IoT hiện đại.
7 tính năng mới trong MQTT v5
Mã lý do: Tìm hiểu về sự ngắt kết nối hoặc lỗi
Không giống như những phiên bản trước, MQTT 5 có thể cung cấp nguyên mã cho mỗi gói xác nhận, giúp chúng tôi hiểu rõ hơn lý do tại sao xảy ra ngắt kết nối hoặc lỗi. Cải tiến này hỗ trợ khắc phục sự cố và cho phép xử lý lỗi chính xác hơn.
Chẳng hạn, nếu máy khách không kết nối được với máy chủ, máy chủ sẽ trả về mã lý do giải thích lý do tại sao kết nối không thành công. Điều này có thể do một loạt vấn đề, từ thông tin đăng nhập không chính xác đến máy chủ không khả dụng.
Khoảng thời gian hết hạn của phiên: Quản lý thời gian tồn tại của phiên
Tính năng này cho phép khách hàng chỉ định cách máy chủ sẽ duy trì phiên của nó trong thời gian dài sau khi client ngắt kết nối. Trong các phiên bản MQTT trước, phiên kết thúc ngay lập tức khi ngắt kết nối hoặc tiếp tục vô thời hạn.
Với MQTT 5, bạn có thể xác định một khoảng thời gian cụ thể mà phiên sẽ được duy trì sau khi ngắt kết nối. Điều này mang lại sự linh hoạt cao hơn trong việc quản lý thời gian tồn tại của phiên và bảo tồn tài nguyên trên máy chủ.
MQTT 5 giới thiệu bí danh chủ đề để giảm chi phí trong tiêu đề thư. Trong các phiên bản trước, tên chủ đề cần được đưa vào mỗi tin nhắn, dẫn đến kích thước gói lớn hơn.
Với bí danh chủ đề, bí danh số ngắn có thể được gán cho chủ đề. Bí danh này có thể được sử dụng thay cho tên chủ đề đầy đủ trong các tin nhắn tiếp theo, giúp giảm đáng kể kích thước của tiêu đề MQTT và bảo toàn băng thông mạng.
Tính năng này cho phép người dùng đưa siêu dữ liệu tùy chỉnh vào tiêu đề của gói MQTT. Điều này có thể đặc biệt hữu ích cho các ứng dụng cần gửi thông tin bổ sung cùng với tin nhắn MQTT, chẳng hạn như dấu thời gian của tin nhắn, vị trí thiết bị hoặc dữ liệu dành riêng cho ứng dụng khác.
Tùy chọn đăng ký: Kiểm soát đăng ký chi tiết
MQTT 5 cho phép khách hàng chỉ định cách họ muốn nhận tin nhắn cho từng chủ đề đã đăng ký. Ví dụ: giờ đây, khách hàng có thể chỉ định xem họ có muốn nhận tin nhắn được giữ lại cho một đăng ký cụ thể hay không hoặc liệu họ có muốn nhận tin nhắn ngay cả khi họ có cùng mức QoS (Chất lượng dịch vụ) như đăng ký hay không.
Yêu cầu/Phản hồi: Cho phép khách hàng trả lời một chủ đề được chỉ định
Sản phẩm tính năng yêu cầu/phản hồi cho phép khách hàng chỉ định một chủ đề mà máy chủ có thể sử dụng để gửi trả lời trực tiếp.
Trong các phiên bản trước của MQTT, nếu khách hàng muốn gửi phản hồi cho một tin nhắn, nó phải xuất bản phản hồi cho một chủ đề và người gửi ban đầu phải đăng ký chủ đề đó để nhận được phản hồi. Với tính năng yêu cầu/phản hồi của MQTT 5, việc liên lạc giữa máy khách và máy chủ trở nên hiệu quả và đơn giản hơn nhiều.
Đăng ký chia sẻ: Chức năng cân bằng tải cho người đăng ký
Tính năng này cho phép nhiều khách hàng chia sẻ một thuê bao. Khi một tin nhắn được xuất bản lên một chủ đề được chia sẻ, máy chủ sẽ phân phối tin nhắn đó đến một trong các máy khách trong đăng ký dùng chung, cân bằng tải các tin nhắn một cách hiệu quả.
Tính năng này đặc biệt hữu ích trong các trường hợp bạn có nhiều phiên bản của một dịch vụ đang chạy và bạn muốn phân bổ khối lượng công việc một cách đồng đều giữa chúng.
Hỗ trợ hiện tại của SDK nhà môi giới và khách hàng trong MQTT 5.0
Giao thức MQTT 5.0 đã được cộng đồng IoT đón nhận nồng nhiệt và nhiều môi giới MQTT và Bộ công cụ phát triển phần mềm (SDK) của khách hàng đã thêm hỗ trợ cho nó. Các nhà môi giới MQTT lớn đã triển khai các tính năng MQTT 5.0 trên nền tảng của họ, cho phép người dùng tận dụng lợi ích của giao thức mới.
Về phía SDK máy khách, các thư viện như Paho, có cơ sở người dùng rộng rãi, đã bổ sung hỗ trợ cho MQTT 5.0. Điều này có nghĩa là các nhà phát triển hiện có thể sử dụng các tính năng MQTT 5.0 trong các ứng dụng IoT của họ. Các ví dụ khác về SDK khách hỗ trợ MQTT 5.0 là MQTT.js và MQTTnet.
Danh sách kiểm tra để di chuyển từ MQTT 3.1.1 sang MQTT 5
Nếu bạn hiện đang sử dụng MQTT 3.1.1, có lẽ đã đến lúc nâng cấp lên MQTT 5. Dưới đây là một số điều chính bạn nên cân nhắc khi thực hiện di chuyển.
Cập nhật nhà môi giới MQTT
Khi bạn đã đánh giá cơ sở hạ tầng hiện tại của mình và quyết định tiếp tục di chuyển, bước tiếp theo là cập nhật các nhà môi giới MQTT của bạn. Điều này liên quan đến việc cài đặt phiên bản mới nhất của nhà môi giới MQTT hỗ trợ MQTT 5.0.
Việc nâng cấp nhà môi giới của bạn phải được thực hiện một cách cẩn thận vì nó ảnh hưởng đến tất cả khách hàng MQTT. Trước tiên, bạn nên thử nghiệm nhà môi giới mới trong môi trường phi sản xuất trước khi đưa nó vào sản xuất. Ngoài ra, hãy đảm bảo rằng cấu hình nhà môi giới của bạn được cập nhật khi cần thiết để hỗ trợ các tính năng mới được giới thiệu trong MQTT 5.0.
Cập nhật thư viện khách hàng
Sau khi cập nhật các nhà môi giới MQTT của bạn, bước tiếp theo là cập nhật thư viện máy khách MQTT của bạn. Giống như bản cập nhật của nhà môi giới, trước tiên bạn nên thực hiện cập nhật này trong môi trường phi sản xuất. Ngoài ra, hãy đảm bảo rằng mã ứng dụng của bạn được cập nhật để xử lý các tính năng MQTT 5.0 mới. Hãy lưu ý rằng điều này có thể liên quan đến việc tái cấu trúc mã.
Bảo mật địa chỉ
Mặc dù MQTT 5.0 mang lại một số cải tiến nhưng nó cũng đưa ra những cân nhắc mới về bảo mật. Ví dụ: với tính năng thuộc tính người dùng mới, giờ đây khách hàng có thể gửi dữ liệu tùy chỉnh cho nhà môi giới.
Mặc dù đây là một tính năng mạnh mẽ nhưng nó có thể bị khai thác nếu sử dụng không đúng cách. Do đó, điều quan trọng là phải đánh giá tất cả các tính năng mới từ góc độ bảo mật.
Một số bước bạn có thể thực hiện để giải quyết vấn đề bảo mật bao gồm sử dụng tính năng xác thực nâng cao mới để bảo mật mạnh mẽ hơn, giới hạn thuộc tính người dùng mà khách hàng chỉ có thể gửi đến những gì cần thiết và liên tục theo dõi mọi hoạt động đáng ngờ.
Giám sát sau khi di chuyển
Cuối cùng, sau khi bạn di chuyển sang MQTT 5.0 và triển khai các tính năng của nó, điều quan trọng là phải liên tục giám sát hệ thống của bạn. Việc giám sát không nên chỉ giới hạn ở các khía cạnh kỹ thuật như gửi tin nhắn hoặc kết nối máy khách.
Bạn cũng nên theo dõi việc sử dụng các tính năng MQTT 5.0 mới trong ứng dụng của mình. Điều này sẽ cung cấp cho bạn thông tin chi tiết về cách các tính năng này đang cải thiện ứng dụng của bạn và nơi có thể thực hiện các cải tiến tiếp theo.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- : có
- :là
- :không phải
- :Ở đâu
- 1
- 2014
- 2019
- 7
- a
- Tài khoản
- hoạt động
- thêm
- thêm vào
- thông tin bổ sung
- địa chỉ
- Nhận con nuôi
- có thể khuyên bảo
- Sau
- trước
- AIDS
- sống
- Tất cả
- Cho phép
- cho phép
- Đã
- Ngoài ra
- trong số
- an
- và
- bất kì
- Các Ứng Dụng
- các ứng dụng
- LÀ
- AS
- các khía cạnh
- đánh giá
- giao
- Xác thực
- Băng thông
- cơ sở
- BE
- trở thành
- được
- trước
- được
- Lợi ích
- Hơn
- giữa
- Mang lại
- rộng
- người môi giới
- môi giới
- by
- CAN
- mà
- Những thay đổi
- thay đổi
- rõ ràng
- khách hàng
- khách hàng
- mã
- mã số
- Giao tiếp
- cộng đồng
- phức tạp
- Cấu hình
- Kết nối
- liên quan
- Kết nối
- Hãy xem xét
- sự cân nhắc
- tiếp tục
- liên tục
- điều khiển
- đúng
- có thể
- Credentials
- Current
- Hiện nay
- khách hàng
- dữ liệu
- quyết định
- định nghĩa
- phân phối
- giao hàng
- thiết kế
- phát triển
- phát triển
- Phát triển
- thiết bị
- Thiết bị (Devices)
- ĐÃ LÀM
- trực tiếp
- mất kết nối
- phân phát
- thực hiện
- dr
- hai
- mỗi
- Sớm hơn
- dễ dàng
- hiệu quả
- hiệu quả
- hiệu quả
- hay
- kết thúc
- nâng cao
- tăng cường
- đảm bảo
- Môi trường
- đã trang bị
- lôi
- đánh giá
- Ngay cả
- như nhau
- Mỗi
- sự tiến hóa
- phát triển
- ví dụ
- ví dụ
- hết hạn
- Giải thích
- giải thích
- khai thác
- khám phá
- không
- Không
- Đặc tính
- Tính năng
- Tên
- Linh hoạt
- Dấu chân
- Trong
- từ
- trước mặt
- Full
- chức năng
- xa hơn
- Cho
- Cho
- Go
- lớn hơn
- có
- xử lý
- Xử lý
- Có
- tiêu đề
- tại đây
- lịch sử
- Độ đáng tin của
- HTTPS
- IBM
- if
- ngay
- Tác động
- thực hiện
- thực hiện
- quan trọng
- nâng cao
- cải thiện
- cải tiến
- in
- bao gồm
- bao gồm
- ngành công nghiệp
- thông tin
- Cơ sở hạ tầng
- ban đầu
- những hiểu biết
- Cài đặt
- ví dụ
- trường hợp
- Khả năng cộng tác
- trong
- giới thiệu
- Giới thiệu
- liên quan
- liên quan đến
- iốt
- thiết bị iot
- các vấn đề
- IT
- ITS
- jpg
- chỉ
- giữ
- Key
- lớn hơn
- Trễ, muộn
- mới nhất
- hàng đầu
- Led
- Cấp
- Tỉ lệ đòn bẩy
- thư viện
- trọng lượng nhẹ
- Lượt thích
- Hạn chế
- địa điểm thư viện nào
- đăng nhập
- thực hiện
- Chủ yếu
- duy trì
- chính
- Làm
- quản lý
- nhiều
- max-width
- có nghĩa
- tin nhắn
- tin nhắn
- tin nhắn
- Siêu dữ liệu
- Might
- di cư
- di cư
- di cư
- nhỏ
- hiện đại
- Màn Hình
- giám sát
- chi tiết
- hiệu quả hơn
- di chuyển
- nhiều
- nhiều
- tên
- cần thiết
- Cần
- cần thiết
- nhu cầu
- mạng
- mạng
- Mới
- Các tính năng mới
- tiếp theo
- tại
- Oasis
- xảy ra
- of
- cung cấp
- Dầu
- on
- ONE
- có thể
- Các lựa chọn
- or
- nguyên
- Nền tảng khác
- ra
- kết thúc
- gói
- riêng
- đặc biệt
- thực hiện
- thời gian
- quan điểm
- Nơi
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Phổ biến
- mạnh mẽ
- cần
- trước
- có lẽ
- Sản lượng
- tài sản
- tài sản
- giao thức
- giao thức
- cho
- cung cấp
- xuất bản
- công bố
- chất lượng
- phạm vi
- lý do
- nhận
- nhận
- giảm
- giảm
- phát hành
- xa
- trả lời
- cần phải
- Yêu cầu
- Thông tin
- phản ứng
- giữ lại
- trở lại
- Lăn
- chạy
- tương tự
- vệ tinh
- kịch bản
- sdk
- sdk
- an ninh
- gửi
- người gửi
- máy chủ
- máy chủ
- dịch vụ
- Phiên
- một số
- Chia sẻ
- chia sẻ
- ngắn
- nên
- đáng kể
- đơn giản
- Kích thước máy
- kích thước
- nhỏ
- So
- Phần mềm
- phát triển phần mềm
- một số
- riêng
- quy định
- Tiêu chuẩn
- đứng
- Bước
- Các bước
- đơn giản
- mạnh mẽ hơn
- đăng ký
- đăng ký
- tiếp theo
- như vậy
- phù hợp
- hỗ trợ
- Hỗ trợ
- Hỗ trợ
- đáng ngờ
- hệ thống
- Hãy
- Kỹ thuật
- thử nghiệm
- việc này
- Sản phẩm
- cung cấp their dịch
- Them
- vì thế
- Kia là
- họ
- điều
- điều này
- thời gian
- dấu thời gian
- đến
- chủ đề
- vận chuyển
- sự hiểu biết
- Cập nhật
- cập nhật
- cập nhật
- nâng cấp
- trên
- us
- Sử dụng
- sử dụng
- đã sử dụng
- người sử dang
- Người sử dụng
- sử dụng
- sử dụng
- phiên bản
- muốn
- muốn
- là
- TỐT
- khi nào
- liệu
- cái nào
- tại sao
- phổ biến rộng rãi
- sẽ
- với
- bạn
- trên màn hình
- zephyrnet