머리말:
스프링 클라우드 기반 마이크로 서비스 아키텍처, 모든 마이크로 서비스는 레지스트리에 등록되어야합니다. 레지스트리가 차단되거나 충돌하는 경우 전체 시스템은 정상적으로 서비스를 계속 제공 할 수 없습니다. 따라서 레지스트리는 여기서 클러스터링되어야합니다. 즉, 고 가용성 (HA)
전제:
환경을 바꾸지 않고 첫 번째 레지스트리의 프로젝트를 읽고 완료하십시오. 이 기사는 고 가용성에 대한 시뮬레이션이며 두 레지스트리 센터의 프로젝트를 복사하여 동일한 효과를 달성하기 위해 각 구성 파일을 개별적으로 수정할 수 있습니다.
다음과 같이 호스트를 수정하고 파일 끝에 두 줄을 추가하십시오.
127.0.0.1 PEER1127.0.0.1 PEER2
메모장 ++를 사용하는 것이 좋습니다. Win10 인 경우 권한을 부여하고 확인한 다음 저장하라는 상기시켜줍니다.
프로젝트 구성 :
레지스트리 센터에서 프로젝트를 열고 SRC/Resources에서 Application-Peer1.Properties를 만듭니다.
#application name spring.application.name = eureka-server#서비스 포트 제공 포트 1111server.port = 1111#서비스를 제공하는 도메인 이름. 여기서 우리는 Eureka.instance.hostname = peer1#두 번째 등록 센터 Eureka.client.service-url.defaultzone = http : // peer2 : 1112/eureka/에 자신을 등록합니다.
src/resources에서 application-peer2.properties를 만듭니다
#응용 프로그램 이름은 첫 번째 레지스트리 인 Spring.application.name = Eureka-Server#서비스 포트 제공 1112Server.port = 1112#서비스를 제공하는 도메인 이름입니다. 여기서 우리는 Eureka.instance.hostname = peer2#첫 번째 레지스트리 인 Eureka.client.service-url.defaultzone = http : // peer1 : 1111/eureka/에 자신을 등록합니다.
이 기사는 테스트를위한 아이디어를 사용합니다. 먼저, Maven 컴파일 도구 및 포장 도구가 pom.xml에 도입되었고 포장 형식은 JAR 패키지로 지정 되었으므로이 프로젝트를 JAR 패키지로 만들어야합니다. 이것은 화면의 오른쪽 상단에서 직접 수행됩니다.
포장이 완료되며 JAR 패키지는 그림과 같이 대상 폴더에 있습니다.
화면 하단에 그림에 표시된대로 터미널 열기
터미널을 열면 JAR 패키지가 대상 디렉토리에 있고 현재 디렉토리는 프로젝트 디렉토리이고, 첫 번째 CD는 대상 디렉토리의 다음 명령을 입력하기 때문에 다음 명령을 입력하십시오.
팁 : 명령을 입력 할 때 잘못된 파일 이름을 방지하려면 파일 이름의 처음 몇 문자를 입력 한 다음 탭 키를 사용하여 자동으로 완료 할 수 있습니다.
다음과 같이 코드를 복사하십시오
이 명령을 입력 한 후 그림과 같이 PEER1 구성 파일의 프로젝트가 시작됩니다.
다음으로 두 번째 프로젝트를 시작합니다. 여기에서 다른 터미널, CD를 대상 디렉토리에 열어야합니다.
참고 : 여기에서 동일한 프로젝트를 사용하고 있습니다. 독자는 테스트를 위해 두 가지 프로젝트를 사용할 수 있습니다. 항구가 충돌하지 않는다는 점에 유의해야합니다.
다음과 같이 코드를 복사하십시오
보고 된 오류가 있는지 확인하기 위해 프로젝트가 시작되고 완료 될 때까지 기다리십시오.
시험:
브라우저 입력 : LocalHost : 1112보기를위한 또는 LocalHost : 1111을 입력 할 수 있습니다.
결론:
다중 노드 등록 센터를 설정 한 후 고 가용성이 달성되지만 현재 마이크로 서비스 응용 프로그램은이 서비스에만 등록되어 있으므로 새 노드의 등록 서비스 경로를 마이크로 서비스 응용 프로그램에 할당해야합니다.
그림과 같이 여러 노드를 분리하려면 ","사용
이러한 방식으로, 마이크로 서비스 제공 업체가 장소 중 하나에서 분리 한 후에는 다른 노드에 등록되었으므로 서비스를 제공 할 수도 있습니다. 호스트 이름을 사용하여 등록 센터에 액세스하지 않으려면 IP를 사용할 수도 있지만 먼저 구성을 추가해야합니다.
eureka.instance.prefer-ip-address = true
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.