토픽 88 / 192·마이크로서비스와 API
API 설계 (API Design)
API 설계 (API Design)
시스템 간 또는 컴포넌트 간 상호작용을 위한 인터페이스를 정의하는 활동
API 유형
- •REST API: HTTP 기반, 자원 중심, 무상태
- •GraphQL: 쿼리 언어, 클라이언트 주도
- •gRPC: Protocol Buffer, 고성능, 양방향 스트리밍
- •WebSocket: 실시간 양방향 통신
REST API 설계 원칙
- •자원 중심 URI (/users, /orders)
- •HTTP 메서드 활용 (GET, POST, PUT, DELETE)
- •무상태 (Stateless)
- •표준 상태 코드 (200, 201, 400, 404, 500)
- •버전 관리 (/api/v1/)
- •HATEOAS (링크 제공)
API 문서화: OpenAPI(Swagger), API Blueprint
API 보안: API Key, OAuth 2.0, JWT, Rate Limiting
API 게이트웨이: Kong, AWS API Gateway, Apigee
비교: REST(자원중심/HTTP) vs GraphQL(쿼리/유연) vs gRPC(성능/타입)
연관: MSA, OpenAPI, 인증