2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
이 기사의 출처는 다음과 같습니다. Apache Seata 공식 문서, 더 자세한 기사를 보려면 공식 웹 사이트를 방문하십시오.
이 기사의 출처는 다음과 같습니다.Apache Seata 공식 문서, 더 자세한 기사를 보려면 공식 웹 사이트를 방문하십시오.
Apache Seata 애플리케이션 측 시작 프로세스 분석 - 등록 센터 및 구성 센터 모듈
Seata의 애플리케이션 측(RM, TM) 시작 프로세스 중 가장 먼저 해야 할 일은 코디네이터 측(TC)과의 통신을 설정하는 것입니다. 이는 Seata가 분산 트랜잭션 조정을 완료하기 위한 전제 조건입니다. TC가 연결을 설정하는 과정에서 애플리케이션 측과 통신합니다.TC 트랜잭션 코디네이터의 클러스터와 주소를 찾는 방법 의?다시구성 모듈에서 다양한 구성 정보를 얻는 방법 는 어때? 이것이 이 글의 초점이다.
미들웨어 수준의 기본 구성 요소로서 Seata는 특정 구현을 위해 타사 프레임워크를 도입하는 데 매우 신중합니다. 관심 있는 학생들은 Seata의 SPI 메커니즘을 심층적으로 이해하고 Seata가 다양한 확장 지점(확장)을 사용하여 어떻게 하는지 확인할 수 있습니다. 구성요소의 특정 구현에 의존하는 것은 반전되어 대신 추상적인 인터페이스에 의존합니다. 동시에, Seata는 마이크로서비스 및 클라우드 네이티브와 같은 널리 사용되는 아키텍처에서 파생된 생태계에 더 잘 통합하기 위해 SPI 메커니즘을 사용하여 여러 주류를 구현합니다. 마이크로서비스 프레임워크, 등록 센터, 구성 센터 및 Java 개발 프레임워크 세계의 "리더" - SpringBoot 등은 마이크로커널 아키텍처, 느슨한 결합 및 확장성을 보장하면서 다양한 구성 요소와 "잘 통합"될 수도 있습니다. ”를 통해 다양한 기술 스택을 사용하는 환경에 Seata를 더 쉽게 도입할 수 있습니다.
이 글은 모든 사람에게 가까이 다가가기 위한 것입니다처음 시타를 시험적으로 소개했을 때시나리오에서는 다음 소개에서 다음을 선택합니다.적용면에 대한 자격은 다음과 같습니다.구성 센터 및 등록 센터로 파일, 그리고스프링부트시작합니다.
이러한 자격을 염두에 두고 Seata 소스 코드를 자세히 살펴보겠습니다.
존재하다 Seata 클라이언트 시작 프로세스 분석(1) 에서는 Seata 애플리케이션 측에서 TM 및 RM의 초기화 방법과 애플리케이션 측에서 Netty 채널을 생성하고 TC 서버에 등록 요청을 보내는 방법을 분석했습니다. 또한 RM 초기화 과정에서 씨타의 다른 모듈(등록센터, 구성센터, 로드밸런싱)도 차례로 등장해 서로 협력해 TC 서버에 연결하는 과정을 완료했다.
TC 서버에 다시 연결하는 클라이언트 메서드인 NettyClientChannelManager.Cannreconnect()를 실행할 때 먼저 다음을 수행해야 합니다.거래 그룹화사용 가능한 TC 서버 주소 목록을 가져옵니다.
/**
* NettyClientChannelManager.reconnect()
* Reconnect to remote server of current transaction service group.
*
* @param transactionServiceGroup transaction service group
*/
void reconnect(String transactionServiceGroup) {
List