Client-ID

Bei der Client-ID handelt es sich um eine Zeichenfolge mit 23 Byte, die zur Identifikation eines MQTT-Clients dient. Jede ID muss eindeutig sein, damit jeweils nur eine Verbindung zu einem Client hergestellt wird. Die ID darf nur Zeichen enthalten, die in einem Warteschlangenmanagernamen gültig sind. Innerhalb dieser Beschränkungen können Sie beliebige Zeichenfolgen für die Identifikation verwenden. Es ist wichtig, eine Vorgehensweise für die Zuordnung von Client-IDs und für die Konfiguration eines Clients mit der ausgewählten ID festzulegen.

Die Client-ID wird bei der Verwaltung eines MQTT -Systems verwendet. Da unter Umständen hunderttausende Clients verwaltet werden, muss es möglich sein, einen bestimmten Client schnell zu erkennen. Nehmen wir beispielsweise an, bei einem Gerät liegt eine Störung vor und Sie werden von einem Kunden, der bei einem Help-Desk anruft, davon benachrichtigt. Wie wird das Gerät vom Kunden identifiziert und wie korrelieren Sie diese Identifikation mit dem Server, der für gewöhnlich mit dem Client verbunden ist?

Wenn Sie MQTT -Clientverbindungen durchsuchen, wird jede Verbindung mit der Client-ID gekennzeichnet. Eine Entscheidung über die optimale Zuordnung dieser ID zur Einheit und zum Server kann durch die Beantwortung der folgenden Fragen vereinfacht werden:

  • Ist es sinnvoll, eine Datenbank zu pflegen und zu verwenden, die jedes Gerät einer Client-ID und einem Server zuordnet?
  • Gibt der Name des Geräts Aufschluss darüber, mit welchem Server es verbunden ist?
  • Müssen Sie in einer Tabelle nachschlagen, um eine Client-ID einem physischen Gerät zuzuordnen?
  • Gibt die Client-ID ein bestimmtes Gerät, einen Benutzer oder eine Anwendung an, die auf dem Client ausgeführt wird?
  • Wenn ein Kunde ein fehlerhaftes Gerät durch ein neues ersetzt, hat das neue Gerät dieselbe ID wie das alte Gerät? (Wenn Sie ein physisches Gerät ändern, aber dieselbe ID beibehalten, werden ausstehende Veröffentlichungen und aktive Subskriptionen automatisch auf das neue Gerät übertragen.)

Neben einem System für die Generierung eindeutiger IDs müssen Sie über einen zuverlässigen Prozess zur Festlegung der ID auf dem Client verfügen. Möglicherweise ist der Client eine Funktionseinheit ohne Benutzerschnittstelle. Fertigen Sie das Gerät mit einer Client-ID? Oder verfügen Sie über einen Softwareinstallations- und Konfigurationsprozess, mit dem das Gerät vor seiner Aktivierung konfiguriert wird?

Eine Client-ID können Sie beispielsweise auf Basis der aus 48 Bit bestehenden MAC-Adresse des Geräts erstellen, damit die ID kurz und eindeutig ist. Falls die Übertragungsgröße eine untergeordnete Rolle spielt, können Sie die verbleibenden 17 Bytes verwenden, um die Verwaltung der Adresse zu vereinfachen.