마이크로서비스 아키텍처는 각 서비스가 독립적으로 동작하므로, 보안을 한 곳에서 집중적으로 처리하는 것이 중요하다.이때 핵심적인 역할을 하는 것이 바로 API Gateway의 인증 및 인가 처리이다. API Gateway의 역할 API Gateway는 애플리케이션의 클라이언트와 백엔드 서비스 간의 통신을 중개한다.모든 API 요청이 Gateway를 통과하므로 인증, 인가, 로깅, 라우팅, 로드 밸런시 등 다양한 기능을 이곳에서 집중적으로 수행할 수 있다. 인증(Authentication) 처리🔑 인증이란?사용자가 누구인지 신원을 확인하는 절차 🔐 인증 방식방식설명Basic Authentication사용자명/비밀번호를 헤더에 실어 요청Token-based (JWT)로그인 시 발급된 토큰을 통해 인증OAu..
API Gateway는 마이크로서비스 아키텍처에서 필수적인 구성 요소이며, 그중에서도 클라이언트 요청을 적절한 서비스로 연결하는 라우팅(Routing) 기능은 핵심 중의 핵심이다. 라우팅(Routing) 개념📌 사전적 정의라우팅(Rouring)이란, 네트워크 내에서 데이터가 목적지까지 도달하는 경로를 선택하는 과정을 말한다. 라우팅은 클라이언트의 요청 URL, HTTP 메서드, 헤더, 쿼리 파라미터 등을 기준으로, 적절한 백엔드 서비스로 요청을 전달하는 프로세스이다. 즉, API Gateway는 클라이언트 요청을 받아 조건에 따라 내부 마이크로서비스로 분기시킨다. 📌 API Gateway에서의 라우팅API Gateway에서의 라우팅은 단순히 경로를 지정하는 것을 넘어서, 다음과 같은 역할을 수행한다..
API Gateway는 마이크로서비스 아키텍처에서 프론트엔드와 백엔드 간의 중간자 역할을 수행한다. 이때 핵심이 되는 구성 요소 중 하나가 바로 프록시 서버(Proxy Server)이다.프록시 서버란? 프록시 서버는 클라이언트와 백엔드 서버 사이에 위치하여, 클라이언트의 요청을 받아 백엔드로 전달하고, 백엔드의 응답을 다시 클라이언트로 보내주는 중간 계층 서버이다. 즉, 클라이언트는 실제 백엔드를 직접 호출하지 않고, 프록시를 통해 간접적으로 호출한다. API Gateway는 이러한 프록시 역할을 수행한다. API Gateway의 프록시 주요 기능 및 예시1️⃣ 중계 (Forwarding) - 기본 중계 기능 프록시의 가장 핵심적인 기능은 요청을 중계하는 것이다. 📌 예시사용자가 /api/orders ..
마이크로서비스 아키텍처(MSA)가 널리 사용되면서, 이를 뒷받침하는 핵심 구성 요소 중 하나가 바로 API Gateway이다.클라이언트와 다수의 백엔드 서비스 사이에서 중심 역할을 하며, 시스템의 안전성과 확장성을 지탱하는 API Gateway의 개념과 등장 배경, 그리고 핵심 특징을 이 글에서 정리한다. API Gateway란? API Gateway는 클라이언트와 백엔드 서비스 사이의 통신을 중개하는 진입점이다.모든 클라이어늩 요청은 API Gateway를 거쳐 해당 백엔드 서비스로 전달되며, 응답 또한 Gateway를 통해 다시 클라이언트에게 전달된다. 📌 API Gateway 정의API Gateway는 모든 API 요청을 한 곳에서 수신하고, 해당 요청을 적절한 내부 서비스로 라우팅하는 프록시 서..
프로젝트 구성루트 폴더(miri-miri-msa)core-moduleuser-service-modulegoods-service-moduleorder-service-module 그리고 루트 폴더의 settings.gradle 파일과 build.gradle 파일을 다음과 같이 설정한다.setggins.gradle (root 프로젝트)rootProject.name = 'miri-miri-msa'include 'core-module'include 'user-service-module'include 'goods-service-module'include 'order-service-module' build.gradle (root 프로젝트)plugins { id 'java'..
현재 이력서를 작성하고 있는데, 성능 테스트 관련 내용을 정리해 작성하려 한다.기존에 성능 테스트를 수행하고 작성한 내용이 있다. 이때, Prometheus, Grafana를 통해 모니터링 환경을 구축하고 JMeter를 사용해 대용량 트래픽 성능 테스트를 수행했는데 JMeter 사용법과 제대로된 성능 테스트 방법을 자세히 알지 못했다. 그래서 이번을 계기로 성능 테스트 관련 내용을 확실히 하고 넘어가려 한다. 성능 테스트란?백엔드 애플리케이션에서 성능 테스트란?백엔드 애플리케이션의 성능 테스트는 특정 워크로드에서 애플리케이션의 안정성, 속도, 확장성 및 반응성이 어떻게 유지되는지를 판별하는 과정이다. 이것은 애플리케이션의 성능을 측정하고, 개선할 수 있는 영역을 식별하기 위해 수행된다. 🚀성능 테스트의..