Technologieaustausch

Analyse des Startvorgangs der Apache Seata-Anwendungsseite – Registrierungscenter- und Konfigurationscenter-Module

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Dieser Artikel stammt von Offizielle Dokumentation zu Apache SeataBesuchen Sie gerne die offizielle Website, um ausführlichere Artikel anzuzeigen.
Dieser Artikel stammt vonOffizielle Dokumentation zu Apache SeataBesuchen Sie gerne die offizielle Website, um ausführlichere Artikel anzuzeigen.

Analyse des Startvorgangs der Apache Seata-Anwendungsseite – Registrierungscenter- und Konfigurationscenter-Module

Vorwort

Während des Startvorgangs der Anwendungsseite (RM, TM) von Seata muss zunächst die Kommunikation mit der Koordinatorseite (TC) hergestellt werden. Dies ist die Voraussetzung dafür, dass Seata die verteilte Transaktionskoordination abschließt Anwendungsseite und kommuniziert mit dem Koordinator Während des Verbindungsaufbaus durch TCSo finden Sie den Cluster und die Adresse des TC-Transaktionskoordinators von?WiederSo erhalten Sie verschiedene Konfigurationsinformationen vom Konfigurationsmodul Wie wäre es mit? Dies ist der Schwerpunkt dieses Artikels.

Geben Sie ein Limit an

Als zugrunde liegende Komponente auf Middleware-Ebene achtet Seata sehr darauf, Frameworks von Drittanbietern für spezifische Implementierungen einzuführen. Interessierte Studenten können ein tiefes Verständnis des SPI-Mechanismus von Seata erlangen und sehen, wie Seata eine große Anzahl von Erweiterungspunkten (Erweiterungen) verwendet Das Verlassen auf die spezifische Implementierung von Komponenten ist umgekehrt und setzt stattdessen auf abstrakte Schnittstellen. Gleichzeitig nutzt Seata auch den SPI-Mechanismus, um mehrere Mainstream-Architekturen zu implementieren, um sich besser in das von gängigen Architekturen wie Microservices und Cloud Native abgeleitete Ökosystem zu integrieren Microservice-Frameworks, Registrierungscenter, Konfigurationscenter und der „Führer“ in der Welt der Java-Entwicklungsframeworks – SpringBoot und andere haben die Mikrokernel-Architektur, die lose Kopplung und die Skalierbarkeit sichergestellt und können sich auch gut in verschiedene Komponenten integrieren. “, wodurch es einfacher wird, Seata in Umgebungen einzuführen, die verschiedene Technologie-Stacks verwenden.

Dieser Artikel soll allen nahe stehenAls ich Seata zum ersten Mal zum Testen vorstellteSzenario, in der folgenden Einleitung wählen SieAnwendungsseiteDie Qualifikationen für sind wie folgt: VerwendungDatei als Konfigurationscenter und Registrierungscenter, und basierend aufSpringBootStart-up.

Lassen Sie uns mit dieser Qualifikation im Hinterkopf in den Seata-Quellcode eintauchen, um das herauszufinden.

RM/TM-Initialisierungsprozess der alternierenden Zusammenarbeit mehrerer Module

existieren Analyse des Startvorgangs des Seata-Clients (1) Wir haben die Initialisierung von TM und RM auf der Seata-Anwendungsseite analysiert und wie die Anwendungsseite einen Netty-Kanal erstellt und eine Registrierungsanfrage an den TC-Server sendet. Darüber hinaus erschienen während des RM-Initialisierungsprozesses auch die anderen Module von Seata (Registrierungscenter, Konfigurationscenter, Lastausgleich) nacheinander und arbeiteten zusammen, um den Verbindungsprozess zum TC-Server abzuschließen.

Wenn Sie die Methode des Clients zum erneuten Herstellen einer Verbindung mit dem TC-Server ausführen: NettyClientChannelManager.Channreconnect(), müssen Sie zunächst Folgendes tunTransaktionsgruppierungRufen Sie die Liste der verfügbaren TC-Serveradressen ab:

    /**
     * NettyClientChannelManager.reconnect()
     * Reconnect to remote server of current transaction service group.
     *
     * @param transactionServiceGroup transaction service group
     */
    void reconnect(String transactionServiceGroup) {
        List