SpringCloud 서비스 등록 및 Spring Cloud Eureka 인 스 턴 스 코드 발견
Spring Cloud 는 기 천 SpringBoot 가 실현 하 는 마이크로 서비스 구조 개발 도구 이다.이 는 마이크로 서비스 구조 에서 관련 된 배치 관리,서비스 관리,차단기,스마트 경로,마이크로 에이전트,제어 버스,전체 잠 금,결정 경선,분포 식 세 션 과 클 러 스 터 상태 관리 등 작업 에 간단 한 개발 방식 을 제공 했다.
Spring Cloud 는 여러 개의 하위 프로젝트(분포 식 시스템 에 관련 된 여러 개의 서로 다른 오픈 소스 제품 에 대해 추가 할 수 있 습 니 다)를 포함 하고 있 습 니 다.다음 과 같 습 니 다.
Spring Cloud Config:설정 관리 도구,Spring Cloud Netflix:핵심 구성 요소,Spring Cloud Bus:이벤트,메시지 버스 등.
2.봄 구름 유레카
Spring Cloud Eureka 는 Spring Cloud Netflix 마이크로 서비스 세트 중의 일부분 으로 Netflix Eureka 를 바탕 으로 2 차 포장 을 했 고 주로 마이크로 서비스 구조 중의 서비스 관리 기능 을 완성 하 는 것 을 책임 진다.Spring Cloud 는 Eureka 에 Spring Boot 스타일 의 자동화 설정 을 추 가 했 습 니 다.저 희 는 의존 과 주해 설정 을 간단하게 도입 하면 Spring Boot 가 구축 한 마이크로 서비스 응용 이 Eureka 서비스 관리 체계 와 쉽게 통합 할 수 있 습 니 다.
서비스 관 리 는 마이크로 서비스 구조 에서 가장 핵심 적 이 고 기초 적 인 모듈 이 라 고 할 수 있 는데 주로 각 마이크로 서비스 사례 의 자동화 등록 과 발견 을 실현 하 는 데 사용 된다.
실례
(1)도구:IntelliJ IDEA
(2)빈 항목 새로 만 들 기
(3)유레카 서버 새로 만 들 기,Module,이름:eurekaserver
프로젝트 오른쪽 단추->모듈 생 성->spring 선택 initialir ->항목 이름 을 작성 하고 다음 단계->그림 에서 Eureka Server 를 선택 하 십시오.
(3-1)pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
(3-2)application.yml
server:
port: 5555
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
비고:eureka.client.register-with-eureka:이 앱 은 등록 센터 이기 때문에 false 로 설정 되 어 있 으 며,등록 센터 에 자신 을 등록 하지 않 는 다 는 뜻 입 니 다.eureka.client.fetch-registry:등록 센터 의 직책 은 서비스 인 스 턴 스 를 유지 하 는 것 이기 때문에 서 비 스 를 검색 할 필요 가 없 기 때문에 false 로 설정 합 니 다.
(3-3)입구 류
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
(3-4)시작 테스트위의 설정 이 완료 되면 응용 프로그램 을 시작 하고 접근 합 니 다.http://localhost:5555/。아래 그림 에서 보 듯 이 유레카 정보 패 널 을 볼 수 있 습 니 다.그 중에서 인 스타 그램 스 currently registered with Eureka 란 은 비어 있 습 니 다.이 등록 센터 는 아직 어떠한 서비스 도 등록 하지 않 았 음 을 나타 냅 니 다.
(4)등록 서비스 제공 자 는 서비스 등록 센터 의 구축 을 마 친 후에 우 리 는 기 존의 Spring Boot 응용 을 Emeka 의 서비스 관리 체계 에 가입 하려 고 한다.
(5)Eureka Client,Module 을 새로 만 듭 니 다.이름 은 helloserver 입 니 다.이 helloserver 는 eurekaserver 의 하위 model 입 니 다.
(6)부모 model 과 하위 model 의 pom 설정(6-1)eurekaserver 의 pom.xml 설정 을 개조 합 니 다.
<packaging>pom</packaging>
<modules>
<module>../helloserver</module>
</modules>
(6-2)eurekaserver 의 모든 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demoeurekaserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>../helloserver</module>
</modules>
<name>eurekaserver</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
(6-3)helloserver 의 pom.xml 설정:
<parent>
<groupId>com.example</groupId>
<artifactId>demoeurekaserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../eurekaserver/pom.xml</relativePath>
</parent>
(6-4)helloserver 의 모든 pom.xml 설정:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example</groupId>
<artifactId>demoeurekaserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../eurekaserver/pom.xml</relativePath>
</parent>
<artifactId>helloserver</artifactId>
<packaging>jar</packaging>
<name>helloserver</name>
<description>Demo project for Spring Boot</description>
<properties>
<start-class>com.example.helloserver.HelloserverApplication</start-class>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
(6-5)helloserver 의 application.yml 설정:
server:
port: 5556
spring:
application:
name: helloserver
eureka:
client:
serviceUrl:
defaultZone: http://localhost:5555/eureka/
(6-6)helloserver 의 시작 클래스:
@EnableEurekaServer
@SpringBootApplication
@RestController
public class HelloserverApplication {
private final Logger log = (Logger) LoggerFactory.getLogger(HelloserverApplication.class);
@Autowired
private DiscoveryClient client;
@RequestMapping(name = "/hello", method = RequestMethod.GET)
public String index() {
ServiceInstance instance = client.getLocalServiceInstance();
log.info("/hello, host:" + instance.getHost() + ",service_id:" + instance.getServiceId());
return "Hello SpringCloud~";
}
public static void main(String[] args) {
SpringApplication.run(HelloserverApplication.class, args);
}
}
(7)eurekaserver 와 helloserver 를 각각 시작 하고 테스트 합 니 다.(7-1)eurekaserver 방문:(HELLOSERVER 정 보 를 잘 볼 수 있 음)
(7-2)helloserver 방문:
(7-3)helloserver 콘 솔 정보 보기:
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.