API Gateway
API Gateway가 필요한 이유 : API Gateway 같은 단일 진입점 없이 Client에서 직접 MicroService를 호출하게 된다면 마이크로 서비스가 생성/삭제/변화될때마다 Client에서 MicroService의 URL의 수정이 필요하게 되는 문제가 발생한다.
그래서 클라이언트에서는 서비스 단일 진입점인 API Gateway로만 서비스 요청하고, API Gateway에서 Client가 요청한 서비스를 파악하여 해당 MicroService를 연결하여 준다.
API Gateway 사용할 때 특징 및 장점
- 인증 및 권한 부여
- 서비스 검색 통합
- 응답 캐싱
- 정채, 회로 차단기 및 QoS 다시 시도
- 속도 제한
- 부하 분산
- 로깅, 추적, 상관 관계
- 헤더, 쿼리 문자열 및 청구 변환
- IP 허용 목록에 추가
-> 위 사항 모두 단일 진입점 서버에서 구현되는게 효과적인 기능들
https://charactermail.tistory.com/390?category=1128836
Service Discovery
Spring Cloud Netflix Eureka
모든 마이크로 서비스는 spring cloud netflix eureka에 등록한다.
유레카의 역할은 서비스 디스커버리
외부에서 다른 서비스들이 마이크로 서비스를 검색하기 위하여 사용되는 개념 (전화번호 책)
유레카 서버의 역할
유레카 서버에 마이크로 서비스들에 대한 등록의 작업
유레카 서버에서 마이크로 서비스들의 검색에 대한 작업 수행
클라이언트가 API Gateway에 필요한 요청정보 전달하면, 요청정보가 서비스 디스커버리에 전달되어 필요한 서비스를 제공받기 위하여 어떤 서버로 접근하면 되는지 반환해준다.
그러면 해당되는 마이크로서비스 서버 호출하여 결과 값 클라이언트에 return해준다.
넷플릭스 유레카 서버 생성 및 프로젝트 세팅 방법 아래 URL 참조
https://charactermail.tistory.com/387?category=1128836
넷플릭스 클라이언트 서버 프로젝트 세팅 방법 아래 URL 참조
https://charactermail.tistory.com/388
'MSA > MSA관련기술' 카테고리의 다른 글
서버 성능 측정 방법 (0) | 2022.11.29 |
---|---|
도커 및 도커 컴포즈 정리 (1) | 2022.11.10 |
msa 관련 도커 명령어 저장 (1) | 2022.10.06 |
도커 관련 정리 (도커 명령어 포함) (0) | 2022.10.05 |
Spring Cloud Config 프로젝트 초기 세팅 (1) | 2022.10.04 |
댓글