[JWT관리] Redis 무엇이고, MSA에는 어떻게 적용되는것일까? 를 공부하니 결국 메모리계층구조까지 찾아보게 되는구나...

주야·2024년 3월 29일

인증 프로세스 관련,

"회원인증결과를 어떻게 관리 할 것 인가?"

를 주제로 심도있는 미팅을 했다.
대화의 50%밖에 이해 못함. (사실... 30%도 이해 못했을 수도...)


최초 로그인 시 발행되는 JWT를 DB 혹은 Redis에서 관리를 함.

위와 같이 회의 결론이 나왔단 말이죠...? 그렇다면

  1. JWT는 무엇인가?
  2. Redis는 무엇인가?
  3. Redis에서 JWT를 어떻게 관리한다는 것인가?

위의 3가지가 궁금증이 생겼고, 흩어져 있던 작고 하찮은 지식조각들을 한 곳으로 모을 차례죠...


1) JWT는 무엇인가?

- JWT는 서버에서 발급해주는 암호화된 열쇠 
- 이 열쇠로 인해 최초 로그인 후 추가 인증 없이 사이트 내에서 자유롭게 서핑이 가능함.
- 서버가 발급 토큰을 관리함.

2) Redis는 무엇인가?

- REmote DIctionary Server 의 약자
- 키-값 형태의 데이터베이스
- 인메모리 데이터베이스 

인메모리를 이해하기 위해서는 컴퓨터의 메모리 계층구조 이해가 필요하다.

[출처] https://velog.io/@steadygo247/%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0

여기서 캐시와 레지스터는 CPU내부에 존재하기 때문에 인메모리라는 명칭을 붙인것이고, 빠른 속도로 접근이 가능하지만 매우 값비싼 한정된 메모리인지라 제한적으로 사용하는듯 하다.

발급토큰은 빈번하게 접근하는 데이터이기 때문에 비싸지만 빠른 속도로 접근이 가능한 인메모리 데이터베이스인 Redis로 관리하는 것이 효율적이다.

profile
개발자

0개의 댓글