LoadBalancer
관리형 인증서
백앤드 컴퓨터들이 과부하되지 않도록 업무를 분담시켜 주는 도구
분담하는 방식은 크게 두가지가 있다.
- Least connection 알고리즘
가장 접속이 적은곳으로 몰아주는 방법
- Round Robin 알고리즘 (Google cloud)
컴퓨터 한대에 하나씩돌면서 업무를 배분하는 방법
설정
- 인스턴트 그룹 만들기
- 내가 만든 컴퓨터들을 집어넣기
- LB 생성
- 관리형 인증서 설치하기(SSL)
- DNS의 A 레코드 변경하기(로드밸런서로 연결)
** Auto-Scaling
사용량이 많아질 경우 알아서 컴퓨터를 생성하여 분담하는 기능
안쓰는 컴퓨터가 너무 많으면 알아서 덜어내기도 한다.
싱글스레드
- 자바스크립트는 싱글 스레드 기반이다 (한번에 하나의 일을 처리함)
- 작업이 오래 걸리는 것들은 Queue로 보내서 일을 처리한다.
- 계산 서버를 따로 두거나, worker thread 만들어서 작업하자.
worker thread 로 작업을 시키면 업무를 맡겨놓고 main은 병목현상을 피한다.
무엇이 오래 걸리는 작업일까?
매크로 태스트 큐 vs 마이크로 태스크큐
setTimeout 같은 작업은 매크로 태스트큐로 불린다.
promise 같이 자바스크립트에서 급하다고 생각하는 업무는
마이크로 태스크큐 이다.
강아지 사진이 많네요
개같다 뭐 이런건가요?