Request 그리고 Server

uxmin·2023년 7월 20일
0

처음 개발에 뛰어들었을 때는 Java라는 언어와 Spring 프레임워크를 배우는 것만으로도 벅차서
서버를 설계하고 구축한다? 그게 뭐죠.

하지만 나. 이제 어엿한 Back-end 엔지니어.
서버는 떼려야 뗄 수 없는 존재가 되었지.

그래서 간단하게 내가 이해한 것을 바탕으로
Request의 흐름과 통신하는 서버는 무엇인지 다이어그램을 그려봤다.
(Mermaid 짱. 벨로그도 지원해줘.)



Request 순서

  1. 유저가 DNS에 도메인 경로와 함께 필요한 요청을 보낸다.
  2. DNS는 해당 도메인과 연결된 IP를 탐색해서 운영 서버에 요청을 보낸다.
  3. 요청을 전달받은 프록시 서버는 원활한 트래픽 관리를 위해 분산되어 있는 웹서버에 알맞는 요청을 전송한다.
  4. 요청을 전달받은 웹 서버는 웹 애플리케이션 서버로 다시 전송을 보내고,
  5. 웹 애플리케이션 서버는 적합한 데이터를 조회하기 위해 DB 서버에 요청을 보낸다.
  6. DB 서버에서 반환받은 데이터는 다시 웹 애플리케이션 서버로,
  7. 웹 서버로 전송되어 화면 렌더링 후 최종적으로 유저에게 보여주게 된다.



사실 어떻게 서버를 설계할 지에 따라서 순서는 조금 달라질 수 있지만,
네트워크 요청이 일어나고 응답을 받기까지는 이렇게 흘러간다고 볼 수 있다.

그래서 내가 백엔드 개발자다! 프레임워크로 개발 좀 했다!라고 하면
실제 서비스를 운영하기 위해서는 서버도 알고 있어야 한다는 점...
코더는 엔지니어가 아니야 (나한테 하는 소리)


근데 리버스 프록시랑 로드 밸런싱의 차이는 아직까지도 잘 모르겠다.
개발 공부는 역시나 끝이 없다.

profile
Back-end Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기