오늘도
배워봅니다.
1.DNS
- DNS(ip) 하면 어디서든 접속 가능 → 배포
배포를 하기 위해서는 yarn star, 컴퓨터가 24시간 켜져있어야 한다
정전등 컴퓨터에 문제가 발생할 수 있음 → 같은 컴퓨터를 2대 이상으로 유지함(다른지역) → HA- 사이트에 방문자가 급증 → 방문자들의 API 요청 → 많은 요청으로 cpu 과부하 → 서버 터짐 →scale-up → cpu와 메모리 업그레이드(필요시 계속 추가함, 같은 소스임)
→ 메모리와 cpu가 엄청 높은 서버 컴퓨터가 있음- 위와 같은 컴퓨터 대여 서비스(cloud-provider)
- AWS - 아마존
- GCP - 구글
- Azure - 마이크로소프트
- 따로 도매인을 안외워도 괜찮음
- 로드벨런서 → LB(부하분산기)
- 컴퓨터 1 → instance
- 컴퓨터 여러대 → instance group
⇒ LB 가 여러 컴퓨터로 뿌림- 알고리즘
- least connection
- round-robin → 한곳씩 번갈ㅇ
- AutoScaling → 자동으로 스케일 업 해줌
- 안전적인 배포를 위해서 꼭 필요한것(없으면 안됨)
- Route53
- frontserver
- 방화벽 해
- 추가적으로 있으면 좋은것
- LB, IG
있으면 가장 효율적인것
24시간(SSR) - 서버사이드렌더링ㄷ
정적파일 뽑아내기 기능
스토리지에다가 정적파일(html, css, js)을 올려둠 → S3
분기기능(cloudfront)을 추가
→ 시스템 모니터링
- 기능을 검사하는 코드 만들기 → 업데이이트 배포한다 생각하기
- 자동실행하는 코드 만들기
- 지속적인 업데이트 → 테스트 코드가 꼭 필요
버튼클릭과 같은 개별기능 → 단위테스트
여러 기능 한꺼번에 → 통합테스트
접속 → 로그인 → 구매 등등 시나리오가 있는 → E2E테스트- jest → 테스트 전용 프레임워크
- nextls → 설치
- 테스트를 먼저 만듬 → TDD
- 핵심만 만들기
- 나중에 사용하면서, 문제됐던 코드 ⇒ 문제 재발생 방지 차원
- 스넵샷 테스트 → 하나하나 다 못하니까 사진을 찍어서 하자
- cypress → 사이트를 가거나 직접 만들기(셋팅파일)
"cypress": "cypress open"
"cypress": "cypress run"