Κοινή χρήση τεχνολογίας

Ανάλυση της διαδικασίας εκκίνησης από την πλευρά της εφαρμογής Apache Seata - μονάδες κέντρου εγγραφής και κέντρου διαμόρφωσης

2024-07-08

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

Αυτό το άρθρο προέρχεται από Επίσημη τεκμηρίωση Apache Seata, καλώς ήρθατε να επισκεφτείτε τον επίσημο ιστότοπο για να δείτε περισσότερα σε βάθος άρθρα.
Αυτό το άρθρο προέρχεται απόΕπίσημη τεκμηρίωση Apache Seata, καλώς ήρθατε να επισκεφτείτε τον επίσημο ιστότοπο για να δείτε περισσότερα σε βάθος άρθρα.

Ανάλυση της διαδικασίας εκκίνησης από την πλευρά της εφαρμογής Apache Seata - μονάδες κέντρου εγγραφής και κέντρου διαμόρφωσης

Πρόλογος

Κατά τη διάρκεια της διαδικασίας εκκίνησης της πλευράς εφαρμογής της Seata (RM, TM), το πρώτο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε επικοινωνία με την πλευρά του συντονιστή (TC). από την πλευρά της εφαρμογής και επικοινωνεί με τον συντονιστή Κατά τη διαδικασία δημιουργίας μιας σύνδεσης TCΠώς να βρείτε το σύμπλεγμα και τη διεύθυνση του συντονιστή συναλλαγών TC του;ΠάλιΠώς να αποκτήσετε διάφορες πληροφορίες διαμόρφωσης από τη μονάδα διαμόρφωσης Τι θα έλεγες; Αυτό είναι το επίκεντρο αυτού του άρθρου.

Δώστε ένα όριο

Ως υποκείμενο στοιχείο σε επίπεδο μεσαίου λογισμικού, η Seata είναι πολύ προσεκτική στην εισαγωγή πλαισίων τρίτων για συγκεκριμένη εφαρμογή Οι ενδιαφερόμενοι μαθητές μπορούν να κατανοήσουν σε βάθος τον μηχανισμό SPI της Seata και να δουν πώς η Seata χρησιμοποιεί μεγάλο αριθμό σημείων επέκτασης (Επεκτάσεις). Η στήριξη στη συγκεκριμένη υλοποίηση των στοιχείων είναι ανεστραμμένη και στηρίζεται αντ' αυτού σε αφηρημένες διεπαφές. Τα πλαίσια microservice , το κέντρο εγγραφής, το κέντρο διαμόρφωσης και ο "ηγέτης" στον κόσμο του πλαισίου ανάπτυξης Java - το SpringBoot και άλλα έχουν ενσωματώσει ενεργά την αρχιτεκτονική του μικροπυρήνα, τη χαλαρή σύζευξη και την επεκτασιμότητα, μπορούν επίσης να "ενσωματωθούν καλά" με διάφορα στοιχεία. ”, διευκολύνοντας την εισαγωγή της Seata σε περιβάλλοντα που χρησιμοποιούν διάφορες στοίβες τεχνολογίας.

Αυτό το άρθρο προορίζεται να είναι κοντά σε όλουςΌταν πρωτοπαρουσίασα τη Seata για δοκιμαστική χρήσησενάριο, στην ακόλουθη εισαγωγή, επιλέξτεΠλευρά εφαρμογήςΤα προσόντα για είναι τα εξής: χρήσηΑρχείο ως κέντρο διαμόρφωσης και κέντρο εγγραφής, και με βάσηSpringBootξεκίνα.

Έχοντας υπόψη αυτό το προσόν, ας βουτήξουμε στον πηγαίο κώδικα της Seata για να μάθουμε.

Διαδικασία αρχικοποίησης RM/TM εναλλασσόμενης συνεργασίας πολλαπλών μονάδων

υπάρχει Ανάλυση της διαδικασίας εκκίνησης του πελάτη της Seata (1) , αναλύσαμε την προετοιμασία των TM και RM στην πλευρά της εφαρμογής Seata και πώς η πλευρά της εφαρμογής δημιουργεί ένα Netty Channel και στέλνει ένα αίτημα εγγραφής στον διακομιστή TC. Επιπλέον, κατά τη διαδικασία αρχικοποίησης RM, εμφανίστηκαν και τα άλλα modules της Seata (κέντρο εγγραφής, κέντρο διαμόρφωσης, εξισορρόπηση φορτίου) το ένα μετά το άλλο, συνεργαζόμενα μεταξύ τους για να ολοκληρώσουν τη διαδικασία σύνδεσης με τον TC Server.

Κατά την εκτέλεση της μεθόδου επανασύνδεσης του πελάτη στον διακομιστή TC: NettyClientChannelManager.Channreconnect(), πρέπει πρώτα ναΟμαδοποίηση συναλλαγώνΛάβετε τη λίστα με τις διαθέσιμες διευθύνσεις διακομιστή TC:

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