• 네트워크·인터넷 맥락
    • 업스트림(upstream): upload 일반 사용자의 PC·모바일에서 데이터가 서버로 올라가는 방향 (upload)
    • 다운스트림(downstream): download 서버에서 사용자 쪽으로 내려오는 방향 (download)
    예) 내가 클라우드에 사진을 올리면 “업스트림”, 그 사진을 다른 사람이 내려받으면 “다운스트림”이죠.
  • 마이크로서비스·MSA 맥락
    • 업스트림(upstream): caller “지금 이 서비스를 호출해 주는(요청을 보내는)” 상위 서비스나 클라이언트
    • 다운스트림(downstream): callee “지금 이 서비스가 호출하는(요청을 보내는)” 하위 서비스
사용자(업스트림) → 웹앱 서비스(내 서비스) → 상품 서비스(다운스트림) → DB 서비스(더 아래 다운스트림)

 

 

일반적인 IT·네트워크 분야에서는 업로드/다운로드 맥락으로 “업스트림/다운스트림” 용어가 훨씬 오래, 더 많이 쓰였어요. 파일 전송이나 통신 장비 스펙에서도 수십 년 전부터 쓰여 왔으니까요.

하지만 백엔드 MSA 설계나 API 설계 문서에서는 서비스 간 호출 방향을 설명할 때 “업스트림 서비스/다운스트림 서비스” 표현이 이미 표준처럼 굳어졌습니다. 즉,

  • 네트워크 전반에서는 파일 전송·통신 기준의 업스트림·다운스트림이 더 보편적이고,
  • MSA 설계 분야에서는 서비스 호출 기준의 업·다운스트림이 주로 쓰입니다.

결국 “어느 쪽이 더 많이 쓰인다”는 기준이

  • 범용 IT·네트워크 분야를 말하면 첫 번째(업로드/다운로드 맥락)이고,
  • 마이크로서비스·백엔드 설계 분야를 말하면 두 번째(서비스 호출 맥락)입니다.
반응형

'System Architect' 카테고리의 다른 글

outbox 패턴  (0) 2025.06.16
쿠버네티스(K8s, kubernetes)  (0) 2025.06.01
딥링크  (0) 2025.05.23
OAuth2.0  (0) 2025.05.23
시스템설계 Q&A 3  (0) 2025.04.06

+ Recent posts