반응형

API 2

08. API 서비스 디커플링 및 서비스 경계

API 설계의 중요성과 배경API 설계가 시스템 확장성에 미치는 영향API는 모듈, 서비스, 혹은 시스템 간의 경계를 정의하는 핵심 요소API의 구조가 시스템 전체의 확장성과 유연성을 결정API가 확장성에 기여하는 방식느슨한 결합(Loose Coupling) API는 내부 구현을 감추고 외부에 인터페이스만 노출하여, 내부 구조가 바뀌어도 다른 시스템은 영향 X모듈화(Modularity) 각 기능을 API 단위로 나누면 새로운 기능 추가 시 기존 시스템에 영향을 주지 않고 독립적으로 확장 가능표준화된 인터페이스 명확한 규칙(예: RESTful 등)에 기반한 API는 팀 간 협업과 외부 연동을 쉽게 해줌계층적 확장 지원 API Gateway 등을 통해 물리적으로나 기능적으로 수평 확장(horizont..

개발/Web-Backend 2025.06.18

06. REST API 버전관리 & URI 설계

REST API 버전 관리 전략 (Versioning Strategies)URL 버전 관리 (/v1/resource, /v2/resource)버전 정보를 URL 경로에 명시하는 방식특징직관적이고 명확브라우저에서도 버전 확인이 쉽게 가능캐시 처리가 용이HTTP 캐시 시스템은 Request URL을 key값으로 Response를 저장장점API 버전을 명확히 구분할 수 있어 디버깅 / 테스트 편리API 변경 시 기존 클라이언트와 충돌이 거의 없음단점URL이 버전과 함께 강하게 묶여 리소스 자체가 변하는 느낌 (REST에서는 리소스를 고정시킨다는 관점이 있음)HTTP Header 버전 관리 (Accept: application/vnd.company.v1+json)API 요청 시 버전 정보를 HTTP Header..

개발/Web-Backend 2025.06.17