:) +34D

권민철·2022년 8월 26일
0

:)8W


오늘도
배워봅니다.

시작

  • 이론적인 백그라운드
    배포 → Deployment → 세상에 공개
    yarn dev → 느리고 새로고침됨
    yarn build → yarn start 와 세트
    yarn start → 빠르고 새로고침 안됨

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 → 자동으로 스케일 업 해줌
  • 안전적인 배포를 위해서 꼭 필요한것(없으면 안됨)
  1. Route53
  2. frontserver
  3. 방화벽 해
  • 추가적으로 있으면 좋은것
  1. LB, IG

    있으면 가장 효율적인것
    24시간(SSR) - 서버사이드렌더링ㄷ
    정적파일 뽑아내기 기능
    스토리지에다가 정적파일(html, css, js)을 올려둠 → S3
    분기기능(cloudfront)을 추가
    → 시스템 모니터링
  • 기능을 검사하는 코드 만들기 → 업데이이트 배포한다 생각하기
  • 자동실행하는 코드 만들기
  • 지속적인 업데이트 → 테스트 코드가 꼭 필요
    버튼클릭과 같은 개별기능 → 단위테스트
    여러 기능 한꺼번에 → 통합테스트
    접속 → 로그인 → 구매 등등 시나리오가 있는 → E2E테스트
  • jest → 테스트 전용 프레임워크
  • nextls → 설치
  • 테스트를 먼저 만듬 → TDD
  1. 핵심만 만들기
  2. 나중에 사용하면서, 문제됐던 코드 ⇒ 문제 재발생 방지 차원
  • 스넵샷 테스트 → 하나하나 다 못하니까 사진을 찍어서 하자
  • cypress → 사이트를 가거나 직접 만들기(셋팅파일)
    "cypress": "cypress open"
    "cypress": "cypress run"

0개의 댓글