인프런 커뮤니티 질문&답변
socket.io와 gateway에 대한 질문입니다!
작성
·
928
답변 1
0
제로초(조현영)
지식공유자
질문이 이해가 안 됩니다. client에서 바로 gateway로 진입한다는 것이 뭔가요?
client로 emit하는 것은 서버->브라우저이고
client에서 gateway로 진입하는 것은 브라우저->서버인 것 같은데
이 둘이 무슨 관련이 있나요?
제로초(조현영)
지식공유자
아, 저는 모든 걸 웹소켓으로 하는 걸 그리 선호하지 않아서 그렇습니다.
요청은 컨트롤러로 보내고, 컨트롤러에서 실시간 데이터를 필요로하는 곳에 gateway로 뿌리는 걸 선호합니다.
말씀하신대로 SubscribeMessage로 newChat 이벤트를 만들어서 거기서 DB 저장도 하고 emit도 하셔도 문제는 없습니다. 다만 로깅 서비스에 제대로 로깅되는지는 모르겠네요.
제로초(조현영)
지식공유자
로깅 서비스를 쓸 때 웹소켓이면 로깅이 애매해집니다. 컨트롤러면 주소라는 명확한 단위가 있는데말이죠.
다만 커넥션을 한 번 더 만들어야 해서 성능적으로는 웹소켓이 더 낫습니다.






강의의 events.gateway는 로그인 말고 @subscribeMessage()를 쓰는 경우가 없는걸로 알고 있는데 그 이유가 궁금합니다.
제가 이해한 socket 통신의 방법은 subscribeMessage를 통해 gateway에서 service의 로직을 불러와 실행하는거라고 알고 있는데
이렇게 controller로 API를 호출하여 채팅을 보내는 방법으로 쓰고 계셔서 이 부분이 또 다른 방법인건지 그렇다면 이렇게 쓰는 이유가 무엇인지 알고 싶습니다!
질문이 어려우셨다면 죄송합니다ㅠㅠ