Vergleich XMPP/Matrix

- Lesezeit: 3 Minuten -

Vorwort

XMPP VS Matrix“ - Was ist besser? Diese Frage ist so nicht zu beantworten, da jedes der beiden freien und anbieterunabhängigen Systeme seine Vor- und Nachteile hat. Die Systeme sind nicht besser oder schlechter, sondern unterschiedlich in der Konzeption und deshalb nicht perfekt für jeden Anwendungsfall.

Wesentliche Unterschiede

Merkmal Jabber (XMPP) Matrix (Matrix-Protokoll)
Generell

Protokollname / Basistechnologie XMPP / TCP Matrix / HTTP
Grundgedanke Basis ergänzbar um viele Erweiterungen (XEP) monolithische Protokoll (alles in einem)
Fokus Flexibilität und Datenschutz Ausfallsicherheit von Chats/Chaträumen
Server

Ressourcenverbrauch (CPU, RAM) geringer als Matrix höher als Jabber(XMPP)
Ort der Datenspeicherung nur auf dem Server, auf dem der Chatraum eingerichtet ist auf jedem Server aller beteiligten Teilnehmer
Administration

Datenspeicherung deaktivierbar ja, kann vom Raumadministrator deaktiviert werden;
individuell vom Nutzer auch für jeden Chatraum und Kontakt
nein, kann nicht deaktiviert werden
Entzug Administrationsrecht in Chats möglich nicht möglich
Verschlüsselung von Chaträumen aktivierbar und deaktivierbar aktivierbar (bleibt dann so)
Nutzer

Unterstützung iOS Probleme bei Clients (nicht alle Funktionen werden von allen Clients unterstützt) volle Unterstützung
Nachrichteneingang Direktempfang falls TCP-Verbindung offen ist, ansonsten Info über Nachricht per Push-Nachricht Immer erst Push-Nachricht über neue Nachricht an Client, der die Nachricht dann vom Server abholt (polling)
Anzeige Chatadresse in öffentlichen Chaträumen (Standard) wird nicht angezeigt, kann vom Raumadministrator aktiviert werden ?


XMPP:

  • Daten für Chatraum sind auf jeweils 1 Server für alle Teilnehmer.
  • Es wird eine TCP-Verbindung genutzt, in die beide Seiten Daten ohne Aufforderung senden können.
  • Wird kein Push (google FCM) genutzt (z.B. bei der F-Droid-Version von Conversations) muss man die App im Vordergrund halten, was einen größeren Strombedarf erfordert.
  • Vorteil: „Grünere“ Nutzung der IT (weniger Ressourcenverbrauch)

Matrix:

  • Daten für Chatraum sind auf jeweils allen Servern der beteiligten Teilnehmer.
  • Das Protokoll HTTP ist zustandslos (‘stateless’) was eigentlich eher ungeeignet für Chat ist, da immer ein aktives Nachfragen (‘polling’) betrieben werden muss.
  • Dadurch ist der Strombedarf tendenziell größer - außer man vergößert den Abfrageintervall entsprechend, was dann ggfs. jedoch keiner „Sofortnachricht“ mehr entspricht.
  • Vorteil: Bei Ausfall/Wartung eines Servers können Teilnehmer von anderen Servern ohne Unterbrechung weiterschreiben.

Server / Performance

  • für die Nutzer in der Praxis irrellevant
  • für Theoretiker („Mehr Rechenleistung und mehr Speicherplatz <-> grüne IT“) relevant
  • für Serverbetreiber in Bezug auf Hardware teilweise wichtig

Zur Performance ein Zitat:
„The server matrix supports only one core in a multi-core processor. Matrix protocol is bloated and uses resources more than 10 times more than XMPP. Consumption is 10 times more than a rough count, some say consumption is 50 or even 100 times more if an attack occurs.“
Zitat von: https://mastodon.social/@xmpp/100889509419952247