개발 서버 설정 동적으로 변경
개발을 하다보면, 토큰 만료 시간을 줄여서 로그인 검증을 할 수도 있고,
토큰 만료 시간을 늘려서 배포를 할 수도 있다
이 부분을 동적으로 배포하지 않고, 변경할 수 있는 endpoint 를 열어둔다면?
당연하지만 위험은하겠지만 개발 서버기 때문에 감안할 수 있다고 생각한다
특정 secret 들을 변경할 수 있도록 열어두는 방향도 고민해봐야겠다
스레드
unit of execution
프로세스 컨텍스트 스위칭
mmu, tlb + 스레드 컨텍스트 스위칭 작업을 함
스레스 컨텍스트 스위칭
cpu 에 데이터만 바꿔끼우고, 스택만 갈아끼움
cpu bound
cpu 기다리는 시간
코어 나 코어 +1 개의 스레드만 작동시키도록 권장
io bound
io 작업 기다리는 시간
스레드는 상황마다 다름
critical section
한 스레드만 있어야 하는 위치
race condition
공유 데이터에 접근해서 여러 스레드가 작업을 했을 때 문제가 생길 수 있는 것
synchronization
여러 스레드에서 실행되어도 공유데이터에 접근해도 문제가 없도록 하는 것
mutual exclusion
https://yoongrammer.tistory.com/60
1. Mutual exclusion
상호 배제
2. process
critical session 에 들어갔을 때, 하나는 들어가서 작업 하도록 두는 것
3. Bounded waiting
유한한 대기 시간
spin lock
계속 while
cpu 자원 계속 먹음
컨텍스트 스위칭보다, 크리티컬 세션의 작업이 훨씬 짧은 경우에 메리트가 있을 수 있다
mutex vs semaphore
mutex 가진 자만 해제 가능
semaphore : 다른 스레드나 프로세스에서 semaphore 해제, 기다리기
mutex : priority inheritance 가 있음. 우선순위가 결국 맞춰짐(mutex 의 경우. 낮은 우선순위를 높은 우선수위로 올려주는데 이를 priority inheritance 라고 함)
우선순위가 높은 cpu 의 작업이 느려짐
상호 배제만 필요하면 mutex
실행 순서 동기화 : semaphore
모니터 mutual exclusion
mutex
critical section mutex lock 필요
큐에 들어간 뒤 waiting 상태로 전환
condition variable
waiting queue 를 가짐
waiting queue
조건이 충족되기를 기다리는 스레드들이 대기상태로 있는 큐
condition variable 의 주요 동작
wait
waiting queue 에서 기다림
signal
하나 깨움
broadcast
전부 깨움
'TIL' 카테고리의 다른 글
23/09/05 회사 첫날 주저리 주저리 (4) | 2023.09.05 |
---|---|
성공과 실패를 결정하는 1%의 네트워크 원리 | Tsutomu Tone (0) | 2023.06.23 |