Categories: 정보처리기사

정보처리기사 기출문제 총정리 ㉒ 마이크로서비스 API – REST·GraphQL·gRPC 설계

API(Application Programming Interface) 설계

API는 소프트웨어 컴포넌트 간 통신을 위한 인터페이스입니다. 정보처리기사에서는 REST API 설계 원칙과 최신 API 기술(GraphQL, gRPC)이 출제됩니다.

REST API 설계 원칙

REST 6가지 제약 조건

  • 클라이언트-서버: UI와 데이터 저장 분리
  • 무상태(Stateless): 각 요청은 필요한 모든 정보를 포함, 서버는 세션 저장 불필요
  • 캐시 가능(Cacheable): 응답에 캐시 가능 여부 표시
  • 계층화(Layered System): 클라이언트는 중간 서버(프록시, LB) 존재 여부 모름
  • 균일한 인터페이스(Uniform Interface): 자원 식별, 표현을 통한 조작, 자기 서술적 메시지, HATEOAS
  • 주문형 코드(Code on Demand): 서버가 클라이언트에 실행 코드 전송 (선택적)

Richardson Maturity Model

  • Level 0: HTTP 터널 (단일 URI, 단일 동사)
  • Level 1: 리소스 (URI로 자원 식별)
  • Level 2: HTTP Verbs (GET/POST/PUT/DELETE 적절히 사용)
  • Level 3: Hypermedia Controls (HATEOAS – 링크로 가능한 다음 동작 안내)

REST API 설계 규칙

  • URI는 명사로 자원 표현 (동사 사용 금지)
  • 계층 구조: /users/{id}/orders/{orderId}
  • 복수형 사용: /users (not /user)
  • HTTP 메서드로 동작 표현: GET(조회), POST(생성), PUT(전체 수정), PATCH(부분 수정), DELETE(삭제)

GraphQL

Facebook이 개발한 API 쿼리 언어로, 클라이언트가 필요한 데이터를 정확히 지정하여 요청합니다.

REST vs GraphQL

  • Over-fetching 해결: GraphQL은 필요한 필드만 선택 → 불필요한 데이터 수신 없음
  • Under-fetching 해결: 여러 자원을 단일 쿼리로 조회 (REST는 여러 엔드포인트 호출 필요)
  • 단일 엔드포인트: 모든 요청이 /graphql로 집중
  • 강력한 타입 시스템: Schema로 API 계약 정의

GraphQL 연산

  • Query: 데이터 조회
  • Mutation: 데이터 변경
  • Subscription: 실시간 데이터 구독

gRPC

Google이 개발한 고성능 RPC 프레임워크입니다.

  • Protocol Buffers(protobuf): 이진 직렬화 포맷. JSON보다 빠르고 용량 작음
  • HTTP/2 기반: 다중화, 스트리밍, 헤더 압축 지원
  • 스트리밍: 단방향/양방향 스트리밍 지원
  • 마이크로서비스 내부 통신에 적합

API 버전 관리

  • URI 버전: /api/v1/users
  • 헤더 버전: Accept: application/vnd.api+json;version=1
  • 쿼리 파라미터: /api/users?version=1

시험 핵심 포인트

  • REST 무상태: 서버는 클라이언트 세션 저장 안 함
  • HATEOAS: 응답에 다음 가능한 동작 링크 포함 (REST Level 3)
  • GraphQL 장점: Over-fetching/Under-fetching 해결, 단일 엔드포인트
  • gRPC: protobuf + HTTP/2, 마이크로서비스 내부 통신
  • PUT: 전체 교체 / PATCH: 부분 수정

마무리

API 설계는 정보처리기사 실기에서도 설계 문제로 출제될 수 있습니다. REST 제약 조건과 HTTP 메서드의 적절한 사용, GraphQL의 특징을 중심으로 학습하세요.

zerg96

Recent Posts

[한방정리] 샘 올트먼 방한 전격 연기: 삼성·카카오·네이버 다 비웠는데 무슨 일

오픈AI 샘 올트먼이 삼성·카카오·네이버와의 연쇄 회동을 앞두고 '개인 사정'을 이유로 방한을 전격 연기했습니다. 카카오톡-챗GPT 연동…

13시간 ago

[한방정리] 잠실 개표소 봉쇄 시위: 3만 명이 몰린 이유, 부정선거냐 과열이냐

6.3 지방선거 투표용지 부족 사태로 시작된 잠실 개표소 봉쇄 시위, 최대 3만 명이 밤샘 농성을…

13시간 ago

[한방정리] 쿠팡 개인정보 과징금 6246억: 3750만 명 털렸는데 당신은 몰랐다

쿠팡이 3750만 명의 개인정보를 유출하고 무단 수집까지 해 역대 최대 과징금 6246억 원을 부과받았습니다. 전직…

13시간 ago

AI가 내 직업을 빼앗는 속도, 당신의 직종은 몇 년 남았나

구글·IBM·삼성이 AI를 이유로 대규모 감원을 시작했습니다. 맥킨지·골드만삭스·옥스퍼드 연구 데이터로 보는 직종별 AI 대체 타임라인과 살아남는…

7일 ago

당신 정보 이미 팔렸다, 2025년 개인정보 유출 실태 충격 공개

SKT 유심 해킹 2,300만 명, 다크웹 개인정보 거래 실태까지. 내 정보 유출 여부 즉시 확인하는…

7일 ago

삼성 vs 애플, 2025년 진짜 승자는 당신이 생각하는 그 회사가 아니다

하드웨어 스펙 경쟁은 끝났습니다. AI 생태계, 프리미엄 수익, 중국 변수까지. 2025년 삼성 vs 애플 진짜…

7일 ago