본 게시물은 스스로의 공부를 위한 글입니다.
틀린 내용이 있을 수 있습니다.
Spring Cloud Netflix Eureka
가 있다.https://localhost:8080
https://localhost:8081
...https://my-server1:8080
https://my-server2:8080
...프로세스
위 서비스들을 Service Discovery에 등록
서비스를 사용하고 싶은 클라이언트는 API Gateway에 요청
API Gateway는 Service Discovery에 필요한 서비스가 어디에 위치해있는지 확인
Service Discovery는 서버의 위치를 반환시켜 API Gateway는 그 위치에 요청
스프링 부트 프로젝트 생성
@EnableEurekaServer
추가@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServiceApplication {
public static void main(String[] args) {
SpringApplication.run(DiscoveryserviceApplication.class, args);
}
}
server:
port: 8761
spring:
application:
name: discoveryService
eureka:
client:
register-with-eureka: false
fetch-registry: false
user-service 프로젝트 생성
@EnableDiscoveryClient
추가@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
server:
port: 0 # 스프링 부트에서 제공하는 랜덤 포트 기능
spring:
application:
name: user-service
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url: # eureka 서버 위치
defaultZone: http://127.0.0.1:8761/eureka
instance:
instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
mvn spring-boot:run
또는 ./gradlew bootRun
방법1: 인텔리제이 -> 구성 편집 - > VM options를 -Dserver.port=9092
로 변경
방법2: 터미널(프로젝트 위치)에서 mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9092'
방법3: 터미널(프로젝트 위치)에서 mvn clean compile package
후 java -jar -Dserver.port=9092 ./taget/user-service-0.0.1-SNAPSHOT.jar
실행
인프런의 'Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)(Dowon Lee)'을 스스로 정리한 글입니다.
자세한 내용은 해당 강의를 참고해주세요.