Alibaba Nacos 등록 센터 소스 분석
구조 원리
Nacos 핵심 기능 점
서비스 등록:Nacos Client 는 REST 요청 을 보 내 는 방식 으로 Nacos Server 에 자신의 서 비 스 를 등록 하고 자신의 메타 데 이 터 를 제공 합 니 다.예 를 들 어 ip 주소,포트 등 정 보 를 제공 합 니 다.Nacos Server 는 등록 요청 을 받 으 면 이 메타 데이터 정 보 를 이중 메모리 맵 에 저장 합 니 다.
서비스 심장 박동:서비스 등록 후 Nacos Client 는 정기 적 인 심장 박동 을 유지 하여 Nacos Server 에 지속 적 으로 알 립 니 다.이 는 서비스 가 계속 사용 가능 한 상태 에 있 고 제거 되 지 않도록 하 는 것 을 설명 합 니 다.기본적으로 5s 는 심장 박동 을 한 번 보 냅 니 다.
서비스 건강 검사:Nacos Server 는 등 록 된 서비스 인 스 턴 스 의 건강 상 태 를 확인 하기 위해 정시 작업 을 시작 합 니 다.15s 가 넘 는 클 라 이언 트 의 심장 박동 을 받 지 못 한 인 스 턴 스 는 healthy 속성 을 false(클 라 이언 트 서비스 발견 시 발견 되 지 않 음)로 설정 합 니 다.만약 에 실제 사례 가 30 초 를 넘 으 면 심장 박동 을 받 지 못 합 니 다.이 인 스 턴 스 를 직접 제거 합 니 다.(제 거 된 인 스 턴 스 가 심장 박동 을 회복 하면 다시 등록 합 니 다)
서비스 발견:서비스 소비자(Nacos Client)는 서비스 제공 자의 서 비 스 를 호출 할 때 Nacos Server 에 REST 요청 을 보 내 위 에 등 록 된 서비스 목록 을 가 져 오고 Nacos Client 로 컬 에 캐 시 하 며 Nacos Client 로 컬 에서 정기 적 으로 서버 의 최신 레 지 스 트 정 보 를 끌 어 올 려 로 컬 캐 시 로 업데이트 합 니 다.
서비스 동기 화:Nacos Server 클 러 스 터 간 에 서로 서비스 인 스 턴 스 를 동기 화하 여 서비스 정보의 일치 성 을 확보 합 니 다.
Nacos 핵심 기능 소스 코드 구성 도
Nacos 서비스 등록 표 구조:지도
예 를 들 어 설명:
Nacos 서버 원본 코드 단기 운행
# nacos
git clone https://github.com/alibaba/nacos.git
태그 1.4.1 버 전 선택원본 코드 전체 구조(주의,nacos 원본 코드 가 져 오기 요구 maven 3.2.5 이상 버 전):
1.소스 코드 단기 운행:
console 모듈 의 com.alibaba.nacos.Nacos.java 를 직접 실행 합 니 다.
# vm
-Dnacos.standalone=true
2.소스 클 러 스 터 실행(시작 프로 세 스 는 영상 참조):
nacos 클 러 스 터 는 my sql 저장 소 를 설정 해 야 합 니 다.먼저 데 이 터 를 만 들 고 이름 을 마음대로 지은 다음 distribution/conf 디 렉 터 리 에 있 는 nacos-my sql.sql 스 크 립 트 를 실행 한 다음 console\src\main\resources 디 렉 터 리 에 있 는 application.properties 파일 의 my sql 설정 을 수정 해 야 합 니 다.다음 과 같 습 니 다.
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
console 모듈 의 com.alibaba.nacos.Nacos.자바 를 실행 하려 면 vm 매개 변수 포트 번호 와 인 스 턴 스 실행 경 로 를 추가 해 야 합 니 다.nacos.home(해당 하 는 디 렉 터 리 는 스스로 미리 만들어 야 합 니 다).server 의 nacos.home 디 렉 터 리 마다 conf 폴 더 를 만들어 야 합 니 다.그 안에 cluster.conf 파일 을 넣 어야 합 니 다.파일 에 모든 클 러 스 터 ip 과 포트 를 기록 해 야 합 니 다.다음 그림 을 보십시오.알 리 바 바 나 코스 등록 센터 의 소스 코드 분석 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Nacos 등록 센터 의 소스 코드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
마이크로 서비스 등록 센터 등록 표 와 hashcode 구현 golang 버 전사실은 등록 센터 에서 도 최근 의 서비스 변경 사건 을 하나의 에 저장 하 는 것 과 유사 하 다.다음 에 클 라 이언 트 가 끌 어 올 릴 때마다 증분 데이터 만 되 돌려 주 고 서버 에서 잊 어 버 리 면 스트...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.