ㅁㄴㅇㅁㄴ

Ahn·2021년 10월 25일
0

LB(Load Balancer) : 부하를 밸런싱한다


클라우드 서비스

내가 어떤 서비스를 하고있는데 갑자기 사용자가 몰렸을때 컴퓨터가 갑자기 많이 필요해짐.

그러면 컴퓨터를 주문해서 올때까지 기다렸다가 오면 LB(로드 밸런서) 연결해주고,
소스코드 깔아주고 해야함. 근데 소스코드 바뀌면 컴퓨터 하나하나 다 소스코드
수정해줘야함

그래서 클라우드라는 업체가 나왔는데
컴퓨터를 빌려주는 업체임

클라우드 서비스는 메뉴만 클릭하면 서비스를 알아서 다 제공해줌

윈도우는 서버로 쓰기엔 부적절함(자주튕김).
가장 안전한 그리고 무료인 리눅스를 서버용으로 사용함

리눅스가 설치되어있는 컴퓨터(터미널)를 빌리는거임
터미널을 빌려주는건데, 그 터미널에서 yarn start해서 작업하면됨


LB to Storage , Backend-server , Frontend-server

스토리지에 html , css , javascript를 저장해놓고

LB에서 stroage로 갈지,
Front Server로 갈지,
Backend Server로 갈지 정할 수 있음.

LB에서 Storage로 가는경우
우리가 주소를 입력하면 LB로 가면 스토리지에가서
html , css , javascript파일을 꺼내온다.

그리고 LB가 꺼내온 html, css , javascript를 다시
브라우저로 전달 해 준다.


실무에선 HTML , CSS , JAVASCRIPT(Static 파일)를 프론트엔드 서버가아닌
스토리지에 많이 올려놓는다. 이유는 프론트에 올려놓으면 프론트서버에서
메모리관리, cpu관리 등을 하고, 컴퓨터가 잘 켜져있는지
체크해야함(관리포인트가 많아짐)

하지만 스토리지는 구글이 데이터를 관리하기 때문에, 무한 트랙픽이 가능하다.
메모리관리 신경안써도 되고, 파일만 올려놓으면 무제한으로 다운가능하고,
무제한으로 동시접속 가능함. 그래서 프론트엔드의 정적파일(static 파일)은
스토리지에 올려놓는다.

LB에서 Back-end Server로 가는경우

Backend로 가서 DB에서 데이터 꺼내와서 브라우저로 전달

LB에서 Front-end Server로 가는경우
SSR을 하기위해서 프론트엔드 서버가 필요함. 24시간 켜놔야 하는 컴퓨터임.

SSR은 무엇인가? Server Side Rendering의 약자이며,
정적인 내용은 먼저 받아오고, 알맹이는 좀 이따 들어오는데
SSR을 하면 이 부분이 해소가 됨. 아예 데이터까지 받아오기때문

정리하자면 아예 완성된 데이터를 받아와서 브라우저상에서 보여주는거임


SSR은 프론트엔드 서버가 열려있고, yarn start로 열려있어야함
front-end 서버에서 useQuery한걸 Backend에서 직접받아서
데이터를 받아온 다음, 이 데이터(js , css , html)가 포함된채로 LB로
전달, 최종적으로 Br에 전달해서 브라우저에서 완성된 데이터가 보이는거임

Front-end 서버가 꺼지면 안되기 때문에 서버 모니터링 을 항상 해줘야함


SSR을 해야하는 페이지 , 안해도 되는 페이지

SSR을 하고 싶은 페이지는 Front-end 서버로 가고
나머지는 스토리지로 가라고 명령하는게 LB에 있음.

페이지마다 상품의 이미지를 변경시킨채로 보여야 한다면
저 content의 이미지가 동적으로 바껴야한다.

위에있는 이미지처럼 하드코딩 된것이 아닌 다이나믹한 데이터가 들어가야함
그렇게 하려면 데이터를 먼저 받아온다음, 받아서 합친 html을 보여줘야함
이렇게 하는 방식이 SSR방식임.

그래서 데이터를 받아와서 합친 HTML을 보여줘야할땐(예를 들어서
위의 제품의 상세정보 같은거) SSR을 써야한다.

이런것들 제외하곤 나머진 스토리지로 감.


36분 부터 시작

profile
Hello~~👋

0개의 댓글