반응형
개요
보통 서버에서 다른 서버로 통신을 하거나 Load Balancing 할 때 우리는 Downstream이라고 표현하는 것을 알 수 있다. 근데 Nginx 에서는 Upstream이라고 하는 것을 확인하고 무슨 의미인지 궁금해 정리하게 되었다.
미리 알려주자면 링크 에서 자세히 확인 가능하다.
그래서 무엇인가?
Downstream은 직역하면 하류이다. 물이 산에서 강으로 흐르는듯이 상류에서 하류로 메시지가 흐른다고 생각하면 될 것이다. 우리가 보통 NLB, ALB를 생각할 때 Downstream이라고 하는 것은 LB에서 EC2 서버로 메시지가 전송되니 하류(Downstream)로 메시지가 흐른다고 생각하면 된다.
근데 Nginx에서는 다르다. Nginx는 HTTP의 데이터 전송을 위함이다. 결국 HTTP는 응답을 위해 통신을 하는 것이며, 요청이 아닌 응답을 기준으로 용어가 정의되었다고 생각하면 된다.
그리고 전통적으로 Upstream/Downstream은 메시지의 흐름이 아닌 종속성의 방향을 표현하는데 사용된다고 한다. 결국 메시지 흐름으로만 생각하면 Downstream이 맞다고 볼 수 있지만, 메시지의 응답을 받기 위해서라고 한다면 Nginx 하위에 있다고 여겨지는 서버는 Nginx에 종속적이기 때문에 Upstream이라고 하는게 맞을 것이다.
내 생각
이전에 한번 지나가듯이 찾아 본적이 있었는데 이렇게 블로그 게시글로 정리해놓고 다시 확인 해보니 좀 더 의미 있는 정리였다. '종속적'인 의미가 있구나 싶다.
[참조] :
반응형
'Network' 카테고리의 다른 글
Domain 에러 확인 및 대응 (0) | 2024.05.31 |
---|---|
Web Socket 통신이란? (0) | 2023.09.22 |
localhost 와 127.0.0.1 차이 (0) | 2023.08.01 |
NAT와 NAPT란? (0) | 2023.07.06 |
HTTP 상태 코드란? (0) | 2023.01.02 |