Właśnie czytałem Facebook używa MQTT do czatu, i wiemy, że ładunek MQTT to tylko strumień bajtów bez opcji nagłówka, takich jak HTTP lub CoAP. To pytanie odpowiada, że dla każdego typu treści powinien istnieć jeden temat.
Moje pytanie jest; jest ich dużo MIM typy i jak Facebook radzi sobie z nimi za pomocą MQTT?
Przykład: Jest użytkownik ZA i użytkownik b. Użytkownik B wysyła obraz JPG do A. Aby poprawnie zidentyfikować typ zawartości, musi zostać opublikowany pod czymś takim / inboxOfUserA / jpg. Jeśli tak jest, to będzie wiele tematów dla jednego użytkownika (ponieważ istnieje wiele rodzajów treści, a co, jeśli nowy typ zawartości pojawi się w przyszłości?).
Nie rozumiem, powinien być jakiś lepszy sposób.
Odpowiedzi:
1 dla odpowiedzi № 1Należy pamiętać, że MQTT to tylko przesyłanie komunikatów, a to, co jest przenoszone od wydawcy do subskrybenta (-ów), jest całkowicie kontrolowane przez projektantów systemu.
Podczas gdy ładunek komunikatu MQTT to tylko zbiór bajtów, nic nie stoi na przeszkodzie, abyś wdrożył własną strukturę w tym zbiorze bajtów
na przykład
- Wiadomość może zawierać nagłówek zawierający pole podobne do typu MIME.
- Komunikat może być dokumentem XML, który może zawierać wszelkiego rodzaju metadane dotyczące jego zawartości