Condivisione della tecnologia

Analisi del processo di avvio lato applicazione Apache Seata: moduli del centro di registrazione e del centro di configurazione

2024-07-08

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

Questo articolo proviene da Documentazione ufficiale di Apache Seata, benvenuti a visitare il sito ufficiale per visualizzare articoli più approfonditi.
Questo articolo proviene daDocumentazione ufficiale di Apache Seata, benvenuti a visitare il sito ufficiale per visualizzare articoli più approfonditi.

Analisi del processo di avvio lato applicazione Apache Seata: moduli del centro di registrazione e del centro di configurazione

Prefazione

Durante il processo di avvio del lato applicazione di Seata (RM, TM), la prima cosa da fare è stabilire la comunicazione con il lato coordinatore (TC). Questo è il prerequisito affinché Seata possa completare il coordinamento delle transazioni distribuite lato applicazione e comunica con il coordinatore Durante il processo di TC che stabilisce una connessione, lo èCome trovare il cluster e l'indirizzo del coordinatore delle transazioni TC Di?AncoraCome ottenere varie informazioni di configurazione dal modulo di configurazione Che dire? Questo è il focus di questo articolo.

Dare un limite

Come componente sottostante a livello di middleware, Seata è molto attenta a introdurre framework di terze parti per implementazioni specifiche. Gli studenti interessati possono avere una comprensione approfondita del meccanismo SPI di Seata e vedere come Seata utilizza un gran numero di punti di estensione (estensioni) per. Affidarsi all'implementazione specifica dei componenti è invertito e si basa invece su interfacce astratte. Allo stesso tempo, per integrarsi meglio nell'ecosistema derivato da architetture popolari come i microservizi e il cloud nativo, Seata utilizza anche il meccanismo SPI per implementare più mainstream. , centro di registrazione, centro di configurazione e il "leader" nel mondo dei framework di sviluppo Java: SpringBoot e altri si sono integrati attivamente pur garantendo l'architettura del microkernel, l'accoppiamento libero e la scalabilità, ma possono anche "integrarsi bene" con vari componenti. ”, rendendo più semplice l'introduzione di Seata in ambienti che utilizzano vari stack tecnologici.

Questo articolo vuole essere vicino a tuttiQuando ho presentato per la prima volta Seata per un utilizzo di provascenario, nella seguente introduzione, scegliLato applicazioneLe qualifiche per sono le seguenti: usoFile come centro di configurazione e centro di registrazionee basato suAvvio a mollaavviare.

Con questa qualifica in mente, tuffiamoci nel codice sorgente Seata per scoprirlo.

Processo di inizializzazione RM/TM della cooperazione alternata multi-modulo

esistere Analisi del processo di avvio del client Seata (1) , abbiamo analizzato l'inizializzazione di TM e RM sul lato dell'applicazione Seata e come il lato dell'applicazione crea un Netty Channel e invia una richiesta di registrazione al TC Server. Inoltre, durante il processo di inizializzazione di RM, sono comparsi uno dopo l'altro anche gli altri moduli di Seata (centro di registrazione, centro di configurazione, bilanciamento del carico), cooperando tra loro per completare il processo di connessione al TC Server.

Quando si esegue il metodo del Client per riconnettersi al Server TC: NettyClientChannelManager.Channreconnect(), è necessario primaRaggruppamento delle transazioniOttieni l'elenco degli indirizzi TC Server disponibili:

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