250x250
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
- 예외와 트랜잭션 커밋
- fielderror
- 오버라이딩
- 코드트리조별과제
- java
- 프로그래머스
- 오블완
- http 메시지 컨버터
- 인터페이스
- html form
- 프록시
- 스프링
- 다익스트라
- 김영한
- 코딩테스트
- 의존관계
- 백준
- 싱글톤
- 추상클래스
- objecterror
- @configuration
- 서블릿
- 테스트코드
- 코드트리
- 티스토리챌린지
- 참조변수
- 스프링컨테이너
- DI
- equals()
- HttpServletResponse
Archives
- Today
- Total
minOS
MSA 시작 본문
728x90
Eureka Server vs. Eureka Client
애플리케이션 공식 명칭 역할 DiscoveryserviceApplication
Eureka Server (서비스 레지스트리) 서비스 등록 및 검색 기능 제공 UserServiceApplication
Eureka Client (서비스 제공자 & 소비자) 서비스 등록 및 다른 서비스 호출 가능 Eureka Server는 서비스 등록소(Registry) 역할을, Eureka Client는 마이크로서비스로서 등록하고 검색하는 역할을 수행
Eureka Server
역할 설명 서비스 등록 (Service Registration) 마이크로서비스가 Eureka Server에 자신의 정보를 등록하여 다른 서비스가 이를 검색할 수 있도록 함 서비스 검색 (Service Discovery) 등록된 서비스 목록을 관리하고, 다른 마이크로서비스가 특정 서비스의 위치를 조회할 수 있도록 지원 헬스 체크 (Health Check) 등록된 서비스의 상태를 주기적으로 확인하고, 정상적으로 작동하지 않는 서비스는 목록에서 제거 로드 밸런싱 지원 (Load Balancing Support) 같은 서비스를 제공하는 여러 인스턴스가 있는 경우, 클라이언트가 균등하게 분배하여 사용할 수 있도록 정보 제공 자동 서비스 등록 및 제거 (Self-Preservation & Expiry) 일정 시간 동안 응답이 없는 서비스는 자동으로 등록 취소되며, 네트워크 장애 시에도 서비스 정보가 유지됨
Eureka Client
역할 설명 서비스 등록 (Service Registration) Eureka Server에 자신의 정보를 등록하여 다른 서비스가 접근할 수 있도록 함 서비스 검색 (Service Discovery) Eureka Server에서 다른 마이크로서비스의 정보를 조회하여 동적으로 호출할 수 있도록 지원 로드 밸런싱 (Load Balancing) 여러 개의 서비스 인스턴스가 있을 경우, 부하를 분산하여 적절한 서비스에 요청을 보낼 수 있음 자동 서비스 갱신 (Service Renewal) 주기적으로 Eureka Server에 자신이 살아있다는 신호(heartbeat)를 보내며, 일정 시간 동안 응답하지 않으면 자동 제거됨 Failover & 장애 복구 (Failover & Recovery) Eureka Server가 다운되더라도, 로컬 캐시에 저장된 정보를 활용하여 서비스 검색을 지속할 수 있음
설정 방법 - Eureka Server
@SpringBootApplication @EnableEurekaServer public class DiscoveryserviceApplication { public static void main(String[] args) { SpringApplication.run(DiscoveryserviceApplication.class, args); } }
application.yaml 설정 예시server: port: 8761 spring: application: name: discoveryservice eureka: client: register-with-eureka: false fetch-registry: false
Eureka Client
@SpringBootApplication @EnableDiscoveryClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } }
application.yaml 설정 예시
server 포트 번호 : 0으로 하면 랜덤으로 번호 자동으로 줌server: port: 0 spring: application: name: user-service eureka: instance: instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}} client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka
Eureka Server , Eureka Client 서버 실행 결과
위에 포트번호 53465 인 것 확인 가능
728x90
'TIL > MSA' 카테고리의 다른 글
Docker-compose 개발 환경 세팅하기 (1) | 2025.03.15 |
---|