-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor(#242): 미디어 서버 역할 분리하기 #246
Refactor(#242): 미디어 서버 역할 분리하기 #246
Conversation
현재 미디어서버 메모리에 RTCPeerConnection, Socket, 클라이언트 타입, 강의실 ID를 관리하고 있었는데 재접속하더라도 불변 데이터인 클라이언트 타입과 강의실 ID는 Redis에 저장하도록 구성했습니다.
…. #242 현재 미디어서버 메모리에 강의 시작 시간, 현재 화이트보드 정보, 발표자 정보, 참여자 정보 등을 관리하고 있었는데 재접속하더라도 불변 데이터인 발표자 Email, 강의 시작 시간, 최신 화이트보드 내용은 Redis에 저장하도록 구성했습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고 많으셨습니다! 일단 머지할게요
@@ -31,16 +35,20 @@ export class RelayServer { | |||
createRoom = (socket: Socket) => { | |||
try { | |||
const email: string = getEmailByJwtPayload(socket.handshake.auth.accessToken); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 accessToken은 로그인할 때 발급했던 토큰인가요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네 맞습니다 !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
강의실 입장할 때 가장 최신의 화이트보드 값은 어디서 가져오나요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tmddus2 최신 화이트보드 데이터는 roomInfo.currentWhiteboardData에 저장되어 있으며,
강의실 입장 시 findRoomInfoById()
함수를 통해 roomInfo를 가져오고, 참여자에게 최신 화이트보드 데이터를 전달하는 부분은 RelayServer.ts
의 111라인입니다.
작업 개요
Redis를 활용하여 미디어 서버 역할 분리하기 close #242
작업 사항
고민한 점들(필수 X)
Redis를 사용하려는 이유는 크게 두 가지 정도이다.
미디어 서버 아키텍처