로그인 시 이메일, 비밀번호를 DB와 비교해서 회원인지 아닌지 판별한다. (로그인 API)
cookie에 로그인 증표를 저장하고 API를 요청할 때마다 로그인 증표를 같이 보낸다.
로그인을 하면 session에 정보가 저장이 된다.(인증 Authentication)
session - 변수 객체
검사과정을 인가(Authorization)라고 한다
로그인 정보를 던져서 내가 원하는 로그인 API를 실행
메모리를 업그레이드 하는 방법(scale-up)
부화를 다른 컴퓨터로 분산시키는 작업 (scale-out)
상태를 가지고 있다. (stateful)
session 테이블을 샤딩하자(데이터 베이스를 여러개로 나눈다)
디스크 저장(input) / 출력(output)이 필요해진다.
디스크 IO가 발생한다.(느리다)
메모리 기반 데이터베이스 - Redis
redis에 session 데이터를 저장하면 빠르겠다.
양방향 암호화 암호화 O, 복호화(O)
단방향 암호화 암호화 O, 복호화(X) - hash
레인보우 테이블 (무차별 대입 공격 ( Bruete Force attack))
키 스트레칭 - bcrypt (js에 c언어 연동)
브라우저 -> 백엔드 -> Redis -> DB
부하를 분할해주는 기계 LB
API를 한번 조회할 때마다 query는 최소 2번 반복한다.
출처 : 코드캠프