10 주차 [ WIL ]

2023. 8. 21. 19:06TIL&WIL/WIL

이번주에 알게된 것

 

1. Isolation level

https://muyeon95.tistory.com/264

 

Isolation level

필요성 격리 수준은 트랜잭션의 ACID 특성을 보장하기 위해서 사용한다. Locking 을 통해 이를 해결할 수 있지만, 무조건적인 Locking 은 성능저하를 가져온다. 반대로 느슨한 Locking 은 데이터 무결성

muyeon95.tistory.com

 

 

2. OSI 7 Layer

https://muyeon95.tistory.com/265

 

OSI 7 Layer

OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. OSI 7 계층으로 나눈 이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기

muyeon95.tistory.com

 

 

3. 세션 기반 인증 & 토큰 기반 인증

https://muyeon95.tistory.com/266

 

세션 기반 인증 & 토큰 기반 인증

세션 기반 인증 사용자가 로그인 하면 서버는 사용자의 정보를 바탕으로 세션을 생성하고, 이 세션에 대한 고유한 식별자인 세션 ID 를 클라이언트에게 반환한다. 클라이언트는 이 세션 ID 를 쿠

muyeon95.tistory.com

 

 

4. JWT

https://muyeon95.tistory.com/267

 

JWT

JWT 란? 인증에 필요한 정보들을 암호화 시킨 JSON 토큰을 의미한다. 그리고 JWT 기반 인증은 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다. JWT 는 JSON 데이터를 Base6

muyeon95.tistory.com

 

5. OAuth

https://muyeon95.tistory.com/268

 

OAuth

OAuth 란? 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근

muyeon95.tistory.com

 

 

6. PostgreSQL Replication

https://muyeon95.tistory.com/269

 

postgreSQL Replication

WAL PostgreSQL 에서 제공하는 복제 서버 구축 방식을 요약하면 다음과 같다. 마스터 서버에서 발생하는 모든 작업을 로그로 만든다. 이 로그를 스탠바이 서버들로 전달한다. 스탠바이 서버들에서

muyeon95.tistory.com

 

 


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' 카테고리의 다른 글

11 주차 [ WIL ]  (0) 2023.08.31
9 주차 [ WIL ]  (0) 2023.08.14
8 주차 [ WIL ]  (0) 2023.08.06
7 주차 ( + 협업을 통해 느낀점 ) [ WIL ]  (0) 2023.07.30
6 주차 ( + 협업을 통해 느낀점 )[ WIL ]  (0) 2023.07.23