인프런 커뮤니티 질문&답변

류돌프님의 프로필 이미지

작성한 질문수

대용량 채팅 TPS 처리를 위한 웹소켓 통신 만들며 학습하기

프로토타입 구동 확인하기

다른 질문을 읽고 궁금한 점이 생겼습니다.

해결된 질문

24.04.10 00:44 작성

·

209

1

https://www.inflearn.com/questions/1229435/%EC%86%8C%EC%BC%93-%EC%84%9C%EB%B2%84%EC%9D%98-%EC%88%98%ED%8F%89%EC%A0%81-%ED%99%95%EC%9E%A5-%EB%B0%8F-%EB%AC%B4%EC%A4%91%EB%8B%A8-%EB%B0%B0%ED%8F%AC%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4?re_comment_id=330648

위 질문의 답으로 써주신 내용중에 궁금한 점이 있습니다.

>>> 그리고 실질적으로 Client측에서 곧바로 Socket에 붙는 경우는 없습니다.

라고 강사님이 답변을 주셨던데, 이번 강의에서는 클라이언트(리액트)에서 소켓서버(golang gin)에 직접 연결을 맺은 것으로 이해했습니다. 강의이기 때문에 중간에 이벤트 툴이 생략된거라 생각하면 될까요..?

추가적으로 클라이언트에서 소켓에 직접 커넥션을 맺지 않고, 사용가능한 socket URL을 받아 연결을 한다고 하셨는데 이 socket Url 의 존재에 대해 더 알고 싶습니다. 이게 단순히 스프링으로 따지면 controller 에 할당되는 매핑정보 같은 url 을 말하는 걸까요?

답변 1

0

July님의 프로필 이미지
July
지식공유자

2024. 04. 10. 08:32

강의 준비 자체를 굉장히 간단한 서비스 구축을 위한 강의로 준비를 하여서 생략된 부분이 굉장히 많을겁니다.

  • DB, Pub/Sub 툴 등등

 

그러기떄문에 질문주신거처럼 생략이 되었다고 생각을 하시는게 맞습니다.

 

또한 클라이언트 측에서는 소켓에 직접 커넥션을 맺지 않는다기 보다는, 하나의 컨트롤 타워에서 요청을 맺는다고 보시면 됩니다.

 

A라는 컨트롤 타워가 있고, 해당 컨트롤 타워에서 내부 소켓 서버를 구성하는 서버간에 브로드캐스팅 해주신다고 보면 되요.

 

즉 Clinet에서 A와 연결을 하게 되면, A는 이제 내부에서 관리하는 다양한 소켓서버들에 대해서, 유효한 소켓서버에 요청을 보내게 되는 구조라고 보시면 됩니다.

 

이렇게 구성해야 하는 이유는 링크 올려주신거처럼, 무중단 배포를 위해서 관리하기 위한 서버값이 필요하기 떄문입니다.

 

물론 이 컨트롤 타워에 대해 점검이 필요하다면, 잠시 사이트 점검을 띄워야하는 경우가 필요하기도 하겠죠

 

혹시 질문에 대한 답변이 되었을까요??