Các giao thức dựa trên mẫu đăng ký xuất bản có phủ nhận lợi ích của mạng lưới không?


7

Các giao thức được mô hình hóa trên mẫu đăng ký xuất bản như MQTTAMQP yêu cầu một nhà môi giới tin nhắn tập trung để phối hợp các tin nhắn được gửi và nhận. Điều này không gây ra nhiều vấn đề khi mạng IoT của bạn dựa trên cấu trúc liên kết sao, trong đó tất cả các thông báo phải đi qua một trung tâm trung tâm, tuy nhiên tôi đã suy nghĩ về lợi ích của mạng lưới và cách chúng có thể bị ảnh hưởng bởi lựa chọn giao thức.

Bài thuyết trình Giới thiệu chủ đề nêu ra một số lợi ích của mạng lưới của Thread nói riêng (tuy nhiên những điều này nên áp dụng chung):

✔ Không có điểm thất bại duy nhất

✔ Tự chữa bệnh

✔ Độ mạnh của nhiễu

✔ Tự mở rộng

✔ Đủ tin cậy cho cơ sở hạ tầng quan trọng

Mặc dù tôi không thể tưởng tượng bốn điểm sau bị ảnh hưởng bởi lựa chọn giao thức, tôi tò mò liệu việc sử dụng giao thức được môi giới tin nhắn có thể loại bỏ bất kỳ lợi thế nào của "mạng không có điểm thất bại" hay không.

Việc sử dụng giao thức dựa trên đăng ký xuất bản có đưa ra một điểm thất bại không thể tránh khỏi nói chung không, và đây có phải là lý do tại sao bài thuyết trình Giới thiệu đề xuất thay thế CoAP như một giao thức tiềm năng để sử dụng?


Tôi đã hỏi về Mosquitto hỗ trợ nhiều nhà môi giới để loại bỏ điểm thất bại duy nhất, nhưng tôi hỏi điều này để đặt câu hỏi liệu đây có phải là xung đột cơ bản giữa các mạng lưới và các giao thức đăng ký xuất bản hay không.

Câu trả lời:


5

Có và không.

Cả hai công nghệ đều liên quan đến các cấp độ cung cấp kết nối khác nhau. Thông thường mạng lưới được cung cấp bởi cấp 3 hoặc 4 hoặc thậm chí cả hai mô hình ISO OSI , tùy thuộc vào việc mở rộng triển khai. Các lớp mạng và vận chuyển cung cấp độ tin cậy cơ bản của mạng lưới. Độ tin cậy đó thường không bị cản trở khi một nút rơi ra.

MQTT và AMQP là các giao thức lớp ứng dụng ở cấp 7. Do đó, các giao thức này phụ thuộc vào độ tin cậy của các cấp thấp hơn theo mô hình cơ bản. Tuy nhiên, nó luôn luôn là đặc quyền của các cấp OSI cao hơn để thực hiện các biện pháp bảo vệ để đối phó với những thất bại của các cấp thấp hơn. Ví dụ, ứng dụng có thể chuyển sang một mạng hoàn toàn khác, chẳng hạn như từ Wi-Fi sang 4G chẳng hạn nếu phát hiện lỗi mạng. Điện thoại thông minh làm điều đó mọi lúc khi chúng ta vào hoặc rời một nơi có Wi-Fi được định cấu hình.

Cũng có khả năng cho các cấp thấp hơn để thích ứng với những thất bại ở cấp trên. Ví dụ, cân bằng tải cấp 4 của OSI có thể đáp ứng cho các nút hỏng phía sau nó. Tất nhiên, điều đó đòi hỏi rằng mỗi nút có thể được xử lý để cân bằng tải và hoặc các giải pháp chuyển đổi dự phòng có thể cung cấp cùng một dịch vụ. Ngoài ra rõ ràng bạn cần thành phần trung tâm ít nhất hai lần. Vì MQTT về cơ bản là định tuyến mức ứng dụng dựa trên các chủ đề nên có thể bằng cách nhân đôi đơn giản. Đây là một ví dụ về giải pháp cụm MQTT với việc triển khai HiveMQ.

Với ý nghĩ đó, có thể kết luận rằng, không , độ tin cậy trên mạng và mức vận chuyển không thể bị phủ định bởi sự lựa chọn của bất kỳ giao thức cấp cao hơn nào. Tuy nhiên, điều đó không áp dụng cho trải nghiệm người dùng. Đối với người dùng, các giao thức cấp thấp hơn chỉ là phương tiện. Sử dụng một giao thức lớp ứng dụng có một điểm lỗi duy nhất vẫn có nghĩa là, nếu nút đó bị hỏng, thì , chức năng bị hỏng ngay cả khi mạng của tôi vẫn hoạt động.

Dù sao đi nữa, lớp ứng dụng trở lên có trách nhiệm cung cấp độ tin cậy cho người dùng. Mạng lưới chỉ có thể cung cấp những điều cơ bản.

Có một điều cuối cùng cần xem xét. Trừ khi một người có dự phòng cho mọi thành phần, luôn có những trường hợp sử dụng có những điểm thất bại duy nhất. Rất có thể đó là nút mà người dùng thực sự tương tác. Trong tự động hóa nhà chẳng hạn, mọi nút bị lỗi rất có thể có nghĩa là người ta chỉ mất một trường hợp sử dụng.

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.