You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이전에 만들어 뒀던 config server, 그리고 discovery-server가 모두 실행되고 있어야 microservice가 실행된다.
그러면 전과 다르게 eureka client가 추가 실행되는 로그를 확인할 수 있다.
유레카 대시보드를 refresh해서 확인해 보면 greetings 서비스가 등록된 걸 볼 수 있다.
탐색 서버가 http://localhost:8761에서 실행 중이므로 특별한 설정이 필요가 없다. 기본 8761 포트로 연결하기 때문이다.
설정을 eureka.client.serviceUrl.defaultZone을 유레카 서버의 URL로 변경 가능하다.
스프링 부트 액추에이터 사용하기
유레카는 인스턴스 실행 여부를 확인하는 메커니즘을 제공한다. 마이크로서비스가 유레카에게 요청을 보내 요청을 받을 준비가 됐다고 알려주는데 이걸 하트비트라고 한다.
유레카가 하트비트를 받지 못하면 인스턴스의 연결이 끊어지고 다시 보내면 유레카가 다시 연결된다.
하트비트의 구현은 정기적인 요청을 전송해서 해당 서비스가 여전히 활성 상태임을 알려주는 것이다.
스프링 부트 액추에이터Spring Boot actuator는 서비스가 가동 중인지를 알 수 있는 더 나은 매커니즘을 제공한다.
스프링 컨텍스트를 탐색하고 정상인지 알려주는 표시기indicator를 제공한다.
이 정보를 상태점검 URL 혹은 JMX와 같은 다양한 방식으로 전파하며 하트비트를 사용해 유레카로 전파할 수도 있다.
URL /actuator/health는 매우 흥미로운 기능이지만 주의해야 한다.
다른 매커니즘을 사용해 이를 보호하거나 민감한 정보가 노출되지 않도록 기본 경로를 변경해야 한다.
스프링 부트 액추에이터 설명서를 참고하면 된다.
https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.monitoring
The text was updated successfully, but these errors were encountered:
6-3 서비스 탐색
서비스 탐색 서버를 사용하면 마이크로서비스 인스턴스를 동적으로 등록할 수 있다.
주 역할은 다음과 같다.
스프링 클라우드는 서비스 탐색에 벤더 독립적 접근 방식을 제공한다. 아래와 같은 다양한 구현을 사용할 수 있다.
여기서는 유레카를 사용한 예제를 살펴본다.
서비스 탐색 서버 만들기
https://start.spring.io/ 에서 스프링 이니셜라이저를 사용해 서비스 탐색 서버 프로젝트를 생성한다.
application.properties를 yml로 바꾸고 아래와 같이 편집한다.
Application 파일에 @EnableEurekaServer 어노테이션 추가
gradlew bootrun을 실행하면 아래와 같은 로그 확인 가능
http://localhost:8761/ 접속 후 확인할 수 있는 화면
탐색 서버에 연결하기
책은 maven의 pom.xml로 설명하고 있지만, 여기서는 build.gradle.kts 파일을 열고 dependencies에 아래의 의존성을 추가한다.
(사실 id 값은 maven과 똑같다)
implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client")
이전에 만들어 뒀던 config server, 그리고 discovery-server가 모두 실행되고 있어야 microservice가 실행된다.
그러면 전과 다르게 eureka client가 추가 실행되는 로그를 확인할 수 있다.
유레카 대시보드를 refresh해서 확인해 보면 greetings 서비스가 등록된 걸 볼 수 있다.
스프링 부트 액추에이터 사용하기
유레카는 인스턴스 실행 여부를 확인하는 메커니즘을 제공한다. 마이크로서비스가 유레카에게 요청을 보내 요청을 받을 준비가 됐다고 알려주는데 이걸 하트비트라고 한다.
유레카가 하트비트를 받지 못하면 인스턴스의 연결이 끊어지고 다시 보내면 유레카가 다시 연결된다.
하트비트의 구현은 정기적인 요청을 전송해서 해당 서비스가 여전히 활성 상태임을 알려주는 것이다.
스프링 부트 액추에이터Spring Boot actuator는 서비스가 가동 중인지를 알 수 있는 더 나은 매커니즘을 제공한다.
스프링 컨텍스트를 탐색하고 정상인지 알려주는 표시기indicator를 제공한다.
이 정보를 상태점검 URL 혹은 JMX와 같은 다양한 방식으로 전파하며 하트비트를 사용해 유레카로 전파할 수도 있다.
마이크로서비스에 스프링 부트 액추에이터를 프로젝트에 추가한다.
implementation("org.springframework.boot:spring-boot-starter-actuator")
그리고 applicaion.yml 파일에 다음 내용을 추가한다. healthcheck 정보를 보내도록 유레카 클라이언트를 설정한 것이다.
http://localhost:8080/actuator/health 에서 상태 정보를 볼 수 있다.
마이크로서비스의 상태 정보를 제공하기도 하지만 하트비트를 유레카에게 알리기 위해서도 사용된다.
The text was updated successfully, but these errors were encountered: