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
- Kotlin
- 백준
- java
- 백준 16235
- JPA
- MySQL
- with recursive
- spring oauth
- 백준 15685
- 백준 17779
- 웹어플리케이션 서버
- 백준 파이썬
- java 기술면접
- 파이썬
- 프로래머스
- Spring
- 백준 16719
- Spring Boot
- sql 기술면접
- MSA
- 백준 17626
- 백준 19238
- spring security
- Coroutine
- 백준 16236
- re.split
- springboot
- 프로그래머스
- JVM
- spring cloud
Archives
- Today
- Total
시작이 반
[MSA] Spring Cloud ( API Gateway ) 본문
SMALL
API Gateway
API Gateway Service는 사용자가 설정한 라우팅 설정에 따라서 각각 엔드포인트로 클라이언트를 대신 요청하고 응답을 받으면 다시 클라이언트에 전달해 주는 프록시 역할을 한다.
서버단에 진입로(API Gateway)를 두고 각각의 마이크로 서비스로 요청되는 것들을 일괄적으로 처리한다.
클라이언트는 gateway만 상대한다.
- 인증 및 권한 부여
- 서비스 검색 통합
- 응답 캐싱
- 정잭, 회로 차단기 및 QoS다시 시도
- 속도 제한
- 부하 분산
- 로깅, 추적, 상관 관계
- 헤더, 쿼리 문자열 및 청구 변환
- IP허용 목록에 추가
API Gateway Service - Project 생성
application.yml
server:
port: 8000
eureka:
instance:
lease-renewal-interval-in-seconds: 1 #하트비트 인터벌
lease-expiration-duration-in-seconds: 2 # 디스커버리는 서비스 등록 해제 하기 전에 마지막 하트비트에서부터 2초 기다림
prefer-ip-address: true
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: apigateway-service
# cloud:
# gateway:
# routes:
# - id: #어플리케이션 이름
# uri: #진입 주소
# predicates: #조건
instance부분의 위에 2개 설정은 해당 서비스가 종료되면 디스커버리에 바로 삭제 되게 해주는 옵션으로 개발단계에서 편의성을 위해 넣었다.
eureka.instance.prefer-ip-address : 이 설정은 디스커버리에 등록된 서비스를 클릭했을때 ip address로 가게 해주는 설정이다.
아래 2개를 알아야 한다.
eureka.client.service-url : discovery 의 주소를 입력하여 해당 서비스를 등록한다.
spring.cloud.gateway : gateway를 통해 진입하는 서비스들을 등록할수 있다.
(아직은 만든 서비스가 없기 때문에 비워놈)
gateway-service를 실행하면
discovery 서버에 apigateway-service가 등록된 것을 볼 수 있다.
이제 Client가 서비스를 사용하면 API Gateway를 통해 해당 서비스로 진입이 가능하다.
LIST
'Programming > MSA' 카테고리의 다른 글
[MSA] Spring Cloud ( Service 등록 ) (0) | 2021.08.04 |
---|---|
[MSA] Spring Cloud ( Gateway Filter ) (0) | 2021.08.03 |
[MSA] Spring Cloud ( Eureka Service Discovery ) (0) | 2021.08.02 |
[MSA] Spring Cloud (0) | 2021.07.31 |
[MSA] MicroService Architecture (0) | 2021.07.30 |