Zusammenfassung der Erfahrungen und Erkenntnisse über die Verwendung von kommerziellem RocketMQ-Blut von Alibaba

Da die Benutzerverhaltensdaten des Unternehmens die RocketMQ-Instanzen der 4.0-Serie von Alibaba als Nachrichten-Middleware für die Echtzeitdatenberechnung verwenden, müssen wir eine Verbindung zu RocketMQ herstellen, um Daten zur Berechnung und zum Drop-In zu erhalten. Aus verschiedenen Gründen ist der Hauptgrund, dass wir sind nicht direkt verbunden. Alibabas mq führt über die von anderen Abteilungen gekapselten Schnittstellen und die Einschränkungen des Echtzeit-Rechen- und Verarbeitungsrahmens dieser Abteilung zu Problemen bei der späteren Verwendung von mq. Um das Problem zu lösen, haben wir Ich kann nur einen Teil des Codes umgestalten. Ich möchte nicht, dass Sie auf die gleiche große Grube stoßen, also möchte ich schreiben: Dieser Artikel fasst die Verwendung von mq zusammen, um einige Erinnerungen an diese blutige Lektion zu hinterlassen. Ich hoffe auch, dass es ein wenig sein kann hilfreich für Programmierer, die sich auf die Verwendung von Alibaba mq vorbereiten.

Die spezifischen Details und Eigenschaften von Alibaba mq werden hier nicht besprochen. Hier werden hauptsächlich die Probleme erläutert, auf die wir bei der Verwendung der HTTP- und TCP-Protokolle gestoßen sind.

  • http-Protokoll

Es bietet SDKs für Java, Go, Python, Node.js, PHP, C#, C/C++ und verfügt über eine große Auswahl, aber der HTTP-Protokollkonsument unterstützt nur den Pull-Modus.

Das HTTP-Protokoll verwendet XML-Serialisierung, sodass die Attribute, Inhalte, Tags, Schlüssel usw. der Nachricht der XML-Spezifikation entsprechen müssen. Andernfalls wird beim Melden oder Abrufen der Nachricht ein Fehler gemeldet. Wenn sie Sonderzeichen enthält, ist dies der Fall Es wird empfohlen, die Nachricht für die Übertragung und den Empfang zu verschlüsseln.

Die Verbrauchergruppe des HTTP-Protokolls weist einen sehr nachteiligen Fehler auf: Sie unterstützt keine Verbrauchsrücksetzungspunkte, was bedeutet, dass es unmöglich ist, frühere Nachrichten zu konsumieren.

Die von der Nachrichtenansammlungserfassungsschnittstelle der HTTP-Protokoll-Verbrauchergruppe zurückgegebenen Daten sind falsch und problematisch, und das Gesamtsymbol der MQ-Instanz ist ebenfalls falsch. Sie können die korrekte Anzahl der Nachrichtenansammlungen nur sehen, indem Sie auf die Verbrauchergruppe klicken. Wenn Sie müssen die Überwachung und Alarmierung der Nachrichtenakkumulation durchführen und Alibaba verwenden. Die Schnittstelle ist ungenau.

Die Antwortzeit für den Nachrichtenverbrauch beträgt 30 Sekunden.

  • TCP-Protokoll

Es bietet nur SDK für Java, C/C++ und .net und unterstützt weniger Entwicklungssprachen als http.

Bei Verwendung dieses Protokolls treten bei der Verbrauchergruppe keine Probleme mit Sonderzeichenfehlern auf.

Die Standardversion unterstützt nur den Nachrichten-Push-Modus und nicht den Pull-Modus. Sie müssen w hinzufügen, um auf die Platinum-Version oder höher zu aktualisieren, um den Pull-Modus zu unterstützen.

Unterstützt das Zurücksetzen des Verbrauchspunkts und die Daten zum Nachrichtenrückstand sind korrekt.

Die Antwortzeit für den Nachrichtenverbrauch beträgt 30 Sekunden.

Es ist möglich, Nachrichten zwischen TCP-Protokoll-Clients und HTTP-Protokoll-Clients zu senden und zu empfangen. Da TCP jedoch nicht den XML-Spezifikationen entsprechen muss, können bei einer Mischung der beiden HTTP-Pull-Message-Terminals vorhanden sein.

  • Diagrammvergleich

2ca3986faaa1c4ead407726bb95cd4c5.png

  • abschließend

Diese Zusammenfassung gilt für die 4.0-Serie des kommerziellen Alibaba MQ. MQ verfügt über einige Funktionen, wie z. B. verzögerte Nachrichten, geplante Nachrichten und eine hohe Durchsatzrate, sodass es möglicherweise von einigen Unternehmen benötigt wird. Wenn es verwendet werden muss, gibt es keine Einschränkungen für die Programmiersprache. Es wird weiterhin empfohlen, dass sowohl die Nachrichtenproduktionsseite als auch die Verbraucherseite das TCP-Protokoll verwenden. Sie müssen dies aus der Verbrauchsgeschwindigkeit, der Genauigkeit der Nachrichtenrückstandsüberwachung und der Möglichkeit, den Verbrauchsort zurückzusetzen, auswählen. Wenn Sie weitere Einzelheiten erfahren möchten, können Sie sich die offizielle Dokumentation von Alibaba ansehen und die Adresse anhängen:

https://help.aliyun.com/product/29530.html

Supongo que te gusta

Origin blog.csdn.net/qq_21372359/article/details/127676240
Recomendado
Clasificación