Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- The law of Demeter
- 알고리즘
- Transaction Pattern
- 체인 패턴
- 스레드
- 배치
- TypeScript
- Parallel Old GC
- Spring Boot Actuator
- 멀티스레드
- 디자인 패턴
- zipkin
- java 정렬
- 디자인패턴
- spring cloud
- Resilinece4j
- Serial GC
- Java
- 사가 패턴
- spring batch
- thread
- MSA
- 생산자 소비자 패턴
- 스프링 배치
- 키클락
- Spring Cloud Netfilx Eureka
- JPA
- Action Pattern
- 타입스크립트
- saga pattern
Archives
- Today
- Total
PSD( Private-Self-Development )
Service Discovery 본문
Service Discovery 란?
- 외부에서 MSA 서비스에 접근하기 위한 정보를 제공 ex) 전화부 책
- 키 밸류 형태로 등록
- 등록, 검색
여기서의 기술 스택은
Spring Cloud Netfilx Eureka 를 사용하겠다.
Spring Cloud Netfilx Eureka 사용 방법
Discovery 서버 생성
1. maven dependency 추가
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2. main application 에 어노테이션 추가
@SpringBootApplication
@EnableEurekaServer
public class EcommerceDiscoveryServiceApplication {
public static void main(String[] args) {
SpringApplication.run(EcommerceDiscoveryServiceApplication.class, args);
}
}
3. 프로퍼티 추가
server:
port: 8761
spring:
application:
name: discoveryservice
eureka:
client: # 자신이 클라이언트가 아니라는 설정
register-with-eureka: false
fetch-registry: false
클라이언트 생성
1. maven dependency 추가
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2. main application 에 어노테이션 추가
@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
3. 프로퍼티 추가
server:
port: 0 # 랜덤포트를 사용하겠다.
spring:
application:
name: user-service
eureka:
instance:
# 인스턴스 ID 값을 설정해야 랜덤포트 설정을 해도 다른 클라이언트로 인식한다.
# 인스턴스 ID 값을 설정 안하면 포트번호 0번인 클라이언트가 1개 존재한다고 인식한다.
instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
client:
register-with-eureka: true # eureka 서버에 등록하곘다.
fetch-registry: true # eureka 서버로 부터 정보를 주기적으로 가져오겠다.
service-url:
defaultZone: http://127.0.0.1:8761/eureka # eureka 서버의 주소
'Backend > MSA' 카테고리의 다른 글
Kafka( 카프카 ) (0) | 2024.04.22 |
---|---|
Feign Client (1) | 2024.04.19 |
Spring Cloud Config (0) | 2024.04.16 |
API Gateway (0) | 2024.03.26 |
MSA (0) | 2024.01.09 |