SpringCloud Alibaba Nacos 서비스 등록 및 발견
기사 디렉토리
1. Nacos 설치
nacous 다운로드 주소 : https://github.com/alibaba/nacos/releases, 최신 1.3.1을 사용합니다.
다운로드 및 압축 해제 후 bin 디렉토리에 들어가면 cmd의 끝은 windows, sh의 끝은 Linux 및 Mac의 시작 및 종료 장치입니다.
아래 두 번째 그림은 성공적인 시작을 나타냅니다. Singleton ~ 클러스터 모드는 나중에 소개됩니다.
성공적으로 시작되면이 웹 페이지 http://127.0.0.1:8848/nacos/#/login, nacos 기본 포트 8488을 입력합니다.이 포트는 구성 파일 application.properties에서 수정할 수 있습니다. 기본 비밀번호는 nacos입니다.
비밀번호 입력 후 다음 페이지로 이동 ~
2. 프로젝트를 생성하고 Nacos에 서비스를 등록합니다.
1. 다음 종속성을 소개합니다.
참고 : spring-cloud-alibaba-dependencies 종속성 그룹 ID는 버전 2.1.0부터 com.alibaba.cloud가되었습니다. 더 이상 org를 선택하지 마십시오. 가져 오기를 추가하는 것을 잊지 마십시오. 그렇지 않으면 xxxxid를 확인할 수 없습니다.
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
2. 구성 파일 구성은 다음과 같습니다.
3. 서비스 시작 후 백그라운드 서비스 등록 목록 확인
여기에서 서비스가 성공적으로 등록되었음을 알 수 있습니다.
4. '세부 사항'확인
서비스 이름 은 스스로 등록하고 기본 그룹 은 DEFAULT_GROUP이고 기본 서비스 라우팅 유형 은 none이며 일반 프로젝트에서는이 두 구성이 괜찮습니다.
임계 값 : 0과 1 사이 건강한 예 / 모든 예. 이 비율이이 임계 값보다 작 으면 모든 인스턴스 (정상 및 비정상 포함)가 소비자에게 반환됩니다. 정상적인 상황에서 nacos는 정상적인 인스턴스 만 소비자에게 반환합니다.
이 모듈 의 ' 클러스터 '에서 '임시 인스턴스'가 참임을 알 수 있습니다. 이것은 nacos의 인스턴스에 대한 일시적이고 지속적인 예입니다. 임시 인스턴스 : Nacos가 능동적으로 감지합니다. 특정 시간 동안 하트 비트가 전송되지 않으면 비정상 인스턴스로 간주됩니다. 지속적인 예 : 상태 확인 없음. springcloud 또는 dubbo는 모두 임시 인스턴스입니다.
' 오프라인 ': 나머지 작업에 ' 오프라인 '작업이 있음을 확인할 수 있습니다.이 오프라인 후에도 서비스는 여전히 활성화되어 있지만 소비자가 정보를 가져 오면 가져올 수 없습니다.
3. MySQL에 대한 Nacos 데이터 지속성
1. nacos_config 데이터베이스를 만들고 conf 디렉토리의 nacos-mysql.sql을이 데이터베이스로 가져옵니다.
2. 다음과 같이 application.properties에서 연결을 설정합니다.
#*************** Config Module Related Configurations ***************#
### If user 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_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
4. Nacos 클러스터 모드
1. 싱글 톤 Nacos를 복사하고 이름을 nacos01, nacos02, nacos03으로 지정합니다.
2. 구성 파일 application.properties의 포트를 수정합니다.
nacos01 : 포트는 8848이고 ip 127.0.0.1이 지정되었습니다.
nacos02 : 포트는 8849이고 ip 127.0.0.1이 지정되었습니다.
nacos03 : 포트는 8850이고 ip 127.0.0.1이 지정되었습니다.
다음 그림은 nacos02에서 application.properties의 수정 된 내용을 보여줍니다.
3. cluster.conf 생성
이 생성은 매우 간단합니다 .conf 파일 디렉토리에서 nacos는 cluster.conf.example 이라는 템플릿을 제공했습니다 . 파일을 복사하고 파일 이름을 cluster.conf로 수정 한 다음 노드 ips를 추가합니다. 각 nacos 노드에 대해 cluster.conf의 복사본을 만듭니다.
파일 내용은 아래 그림과 같이 편집됩니다.
4. 시작
- Linux 또는 Mac 시스템 인 경우 구성이 여기에 있으면 sh startup.sh -m cluster 명령을 실행하여 클러스터 모드에서 시작하십시오. 시작 효과는 아래 그림과 같습니다.
- Windows 인 경우 각 노드의 startup.cmd 파일을 수정하고 아래에있는 if else 내용을 교환해야합니다. 그런 다음 각 nacos 노드 아래의 startup.cmd를 직접 클릭하여 시작하십시오.
시작 후 효과 다이어그램은 다음과 같습니다.
5. 노드 메타 데이터보기
여기서 8848은 리더, 8849는 추종자, 8850은 추종자입니다.
주인과 노예가 스스로 선출되며, 시도해 보시고 8848을 멈추시면 새로운 리더가 등장합니다
5. Nacos 자동 구성
nacos는 eureka + config + bus와 동일합니다.
Nacos에는 github 등이 필요하지 않으며 구성 파일을 nacos 디렉토리에 넣을 수 있습니다.
나중에 업데이트 할 나머지 콘텐츠를 자동으로 구성 ~