2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Эта статья взята из Официальная документация Apache SeataДобро пожаловать на официальный сайт для просмотра более подробных статей.
Эта статья взята изОфициальная документация Apache SeataДобро пожаловать на официальный сайт для просмотра более подробных статей.
Анализ процесса запуска приложения Apache Seata — центр регистрации и модули центра конфигурации
В процессе запуска стороны приложения Seata (RM, TM) первое, что необходимо сделать, — это установить связь со стороной координатора (TC). Это необходимое условие для выполнения Seata координации распределенных транзакций. Затем Seata завершает инициализацию. стороне приложения и связывается с координатором. В процессе установления соединения TC он находится.Как узнать кластер и адрес координатора транзакций TC из?СноваКак получить различную информацию о конфигурации из модуля конфигурации Как насчет? Этому посвящена данная статья.
В качестве базового компонента на уровне промежуточного программного обеспечения Seata очень внимательно относится к внедрению сторонних платформ для конкретной реализации. Заинтересованные студенты могут получить более глубокое представление о механизме SPI Seata и увидеть, как Seata использует большое количество точек расширения (расширений) для реализации. Использование конкретной реализации компонентов перевернуто и вместо этого опирается на абстрактные интерфейсы. В то же время, чтобы лучше интегрироваться в экосистему, основанную на популярных архитектурах, таких как микросервисы и облачные технологии, Seata также использует механизм SPI для реализации нескольких основных направлений. микросервисные фреймворки, центр регистрации, центр конфигурации и «лидер» в мире фреймворков разработки Java — SpringBoot и другие, которые активно интегрировались. Обеспечивая микроядерную архитектуру, слабую связанность и масштабируемость, они также могут «хорошо интегрироваться» с различными компонентами. », что упрощает внедрение Seata в среды, в которых используются различные технологические стеки.
Эта статья предназначена для того, чтобы быть близкой каждомуКогда я впервые представил Seata для пробного использованиясценарий, в следующем введении выберитеСторона приложенияКвалификационные требования для этого следующие: использоватьФайл как центр конфигурации и центр регистрациии на основеSpringBootзапускать.
Учитывая эту оговорку, давайте углубимся в исходный код Seata, чтобы выяснить это.
существовать Анализ процесса запуска клиента Seata (1) Мы проанализировали инициализацию TM и RM на стороне приложения Seata, а также то, как сторона приложения создает канал Netty и отправляет запрос на регистрацию на сервер TC. Кроме того, в процессе инициализации RM другие модули Seata (центр регистрации, центр конфигурации, балансировка нагрузки) также появлялись один за другим, взаимодействуя друг с другом для завершения процесса подключения к TC Server.
При выполнении метода переподключения Клиента к Серверу TC: NettyClientChannelManager.Channreconnect() сначала необходимоГруппировка транзакцийПолучите список доступных адресов TC Server:
/**
* NettyClientChannelManager.reconnect()
* Reconnect to remote server of current transaction service group.
*
* @param transactionServiceGroup transaction service group
*/
void reconnect(String transactionServiceGroup) {
List