[ 2024.11.27 TIL ] 최종 프로젝트 (대기방/로비)

박지영·2024년 11월 27일
0

Today I Learned

목록 보기
86/88

세션 관리 방식의 변경

팀원들과의 회의 결과 세션 관리를 redis로 하기로 합의했다.

때문에 기존에 메모리에서 관리되던 정보들을 redis로 관리되게 변경해야한다.

대기방/로비 서버의 세션 관리

현재 대기방 서버와 로비 서버는 Map 객체로 유저의 sessionId와 유저의 데이터를 맵핑하고 있다.

그래서 클라이언트의 요청이 왔을 때 메모리에서 유저의 정보를 찾아 빠르게 비즈니스 로직을 수행하고 응답을 줄 수 있도록 구상하고 구현했었다.

하지만 redis로만 세션을 관리하게 되면서 전부 뜯어고쳐야하는 상황이다.

room/lobby 클래스의 정적 클래스화

그럼 클래스를 어떻게 바꾸면 좋을까? 고민해봤는데 유저 데이터, 대기방 데이터 등을 메모리로 관리할 필요가 없으니 결국 대부분의 속성들도 필요 없어졌다는 결론이 나왔다.

  • 로비와 로비 매니저의 일부 코드.

그래서 클래스를 유틸리티 클래스로 사용하기로 하고 매니저에서는 기존과 같이 비즈니스 로직을 수행하도록 했다.

profile
신입 개발자

0개의 댓글