전체 글 62

Retry 패턴 이란 ?

Retry 패턴은 애플리케이션이 일시적인 오류나 실패 상황에서 요청을 반복적으로 시도함으로써 안정성과 가용성을 높이는 설계 패턴입니다. 이는 네트워크 장애, 일시적인 서비스 중단, 타이밍 문제 등과 같은 문제를 해결하는 데 유용합니다. Source : https://learn.microsoft.com/en-us/azure/architecture/patterns/retry 1.Retry 패턴의 주요 요소1) Retry 조건:재시도를 할 오류를 정의합니다.보통 일시적인 네트워크 오류나 HTTP 상태 코드(예: 500, 503, 504)와 같은 조건에서 재시도를 수행합니다.치명적인 오류(예: 400, 401)는 재시도를 하지 않도록 설정합니다. 2) Retry 횟수 (Max Retry Attempts):요청을..

Rate limiting 패턴 이란 ?

Rate Limiting은 시스템의 안정성과 보안을 보장하기 위해 단위 시간당 요청 수를 제한하는 설계 패턴입니다. 이 패턴은 클라이언트가 서버로 과도한 요청을 보내는 것을 방지하고, 서버 자원의 사용을 효율적으로 관리하며, 서비스 품질을 유지하는 데 중요한 역할을 합니다. 1.핵심 개념1) 요청 수 제한 : 클라이언트가 보낼 수 있는 요청 수를 정해진 단위 시간(초, 분, 시간, 일 등) 안에서 제한합니다.예: "1분에 최대 100개의 요청만 허용"2)제한 조건IP 주소 기반 제한 : 특정 IP에서 오는 요청만 제한사용자별 제한 : 사용자의 인증 정보(Token, API Key 등)에 기반한 요청 제한리소스별 제한 : API 엔드포인트별로 요청 제한3)정책 유형Fixed Window : 정해진 시간 간..

Proxy 패턴 이란 ?

1.프록시 패턴의 시작기원 : 프록시 패턴은 1994년 GoF의 디자인 패턴 책에서 소개되었습니다. 이 책은 객체지향 소프트웨어 설계에서 공통적으로 사용되는 23가지 디자인 패턴을 정리한 첫 번째 공식 문헌입니다. 프록시 패턴은 이 책에서 구조적 패턴(Structural Pattern)으로 분류되며, 객체 간의 관계와 구조를 다루는 패턴 중 하나로 설명됩니다.사용 목적 : 컴퓨팅 자원이 제한된 환경에서, 실제 객체를 생성하거나 접근하는 과정을 제어하기 위한 필요성에서 시작되었습니다. 초기 컴퓨터 시대에는 메모리와 처리 속도에 제약이 있었기 때문에 객체의 생성 비용을 줄이고 효율성을 높이는 설계 방식이 중요했습니다. 2. 프록시 패턴의 사용 사례1) 초기 컴퓨터 네트워크 :원격 호출(Remote Metho..