2023. 8. 21. 19:06ㆍTIL&WIL/WIL
이번주에 알게된 것
1. Isolation level
https://muyeon95.tistory.com/264
2. OSI 7 Layer
https://muyeon95.tistory.com/265
3. 세션 기반 인증 & 토큰 기반 인증
https://muyeon95.tistory.com/266
4. JWT
https://muyeon95.tistory.com/267
5. OAuth
https://muyeon95.tistory.com/268
6. PostgreSQL Replication
https://muyeon95.tistory.com/269
TIL 회고
1. Isolation level
isolation level 은 트랜잭션의 ACID 특성을 보장하기 위해서 사용한다.
Lock 을 통해 해결할 수 있지만 무조건적인 Lock 은 성능 저하를 가져온다.
하지만 느슨한 Lock 은 데이터 무결성에 큰 문제를 가져온다.
때문에 효율적인 Lock 사용을 위해 Isolation level 이 필요하다는 것을 알게 되었다.
2. OSI 7 Layer
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다.
물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 나뉜다.
각 계층별 전송 방식과 특징과 역할을 알 수 있었다.
3. 세션 기반 인증 & 토큰 기반 인증
세션 기반 인증은 사용자들의 정보를 기억하고 있어야 한다. 이를 위해 서는 세션을 유지해야 하는데 메모리나 데이터베이스를 통해 관리하고 stateful 하다. 그리고 쿠키를 사용하기 때문에 CORS 에 취약하다.
토큰 기반 인증은 사용자의 인증정보를 서버나 세션에 유지하지 않고 클라이언트에서 들어오는 요청만으로 작업을 처리하며 때문에 상태를 유지하지 않으므로 stateless 한 구조를 가지고 쿠키를 사용하지 않기 때문에 쿠키 사용에 의한 취약점이 사라진다.
4. JWT
JWT 는 인증에 필요한 정보들을 암호화한 JSON 토큰이다. . 으로 구분되며 Header, Payload, Signature 로 나누어져 있다.
JWT 는 제 3자에게 토큰 탈취 위험성이 있기 때문에 Access Token 과 Refresh Token 을 사용한다. 두 토큰 모두 JWT 이며
Access Token 은 클라이언트가 가지고있는 유저의 정보가 담긴 토큰으로서 사용자의 정보에 맞게 응답을 진행하고
Refresh Token 은 짧은 수명을 가지는 새로운 Access Token 을 발급해주기 위해 사용한다.
5. OAuth
사용자의 정보를 안전하게 공유하면서 비밀번호를 직접 공유하지 않아도 되는 방식이며 여러 서비스에서 제 3자 애플리케이션에 데이터 접속을 허용하게끔 하는 프로토콜이다. 예시로 카카오 로그인과 인스타그렘 로그인 등이 있다.
6. PostgreSQL Replication
대용량 트래픽을 제어해야하는 챌린지 프로젝트 특성상 성능을 개선하다보니 DB 가 터져버리는 상황이 발생했다.
DB 복제의 필요성과 분산 처리의 필요성을 느껴 replication 에 대해 학습했다.
postgreSQL 의 복제 방식은 WAL 이라는 로그를 사용해 복제를 하고 크게 Physical Replication 과 Logical Replication 이 존재한다.
프로젝트에 상황에 맞게 적용해야 겠으며 Physical Replication 이 프로젝트에 더 적합하다고 판단해 사용할 것이다.
log shipping 방식과 streaming 방식이 있는데 백업서버를 log shipping 으로 두고 기본적인 master-slave 구조로는 streaming 방식을 활용할 것 같다.
다음 주 목표
1. PostgreSQL Replication 해보기
2. CI/CD
3. 프로세스와 스레드
4. 멀티프로세스와 멀티 스레드
이번 주 목표 체크
1. 부하테스트 용어 정리 ❌
2. 프로젝트 학습 ✅
3. OSI 7 계층 ✅
4. 토큰 ✅
5. OAuth ✅
'TIL&WIL > WIL' 카테고리의 다른 글
잔디 기부 캠페인 회고 (0) | 2024.12.19 |
---|---|
11 주차 [ WIL ] (0) | 2023.08.31 |
9 주차 [ WIL ] (0) | 2023.08.14 |
8 주차 [ WIL ] (0) | 2023.08.06 |
7 주차 ( + 협업을 통해 느낀점 ) [ WIL ] (0) | 2023.07.30 |