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

스트리밍 플랫폼에서 사용하는 채팅서버를 위한 웹소캣 통신에 대해서 알아보고 실제로 구현을 하는 강의 입니다.

(4.2) 수강평 39개

수강생 648명

난이도 초급

수강기한 무제한

서버개발자
서버개발자
서버개발자
서버개발자

먼저 경험한 수강생들의 후기

먼저 경험한 수강생들의 후기

4.2

5.0

YongJun(Passion)

100% 수강 후 작성

소켓에 대한 이해를 할 수 있게되었습니다

5.0

rnxogud123

100% 수강 후 작성

강의 정말 잘 들었습니다. 저는 모니터를 하나 더 사용해서 강의를 보는데 큰 불편함이 없었던 것 같습니다. http api 서버 외에 다른 서버 구성은 처음해봤는데 배울 것들이 정말 많은 것 같습니다.

5.0

Hong

33% 수강 후 작성

폰트 사이즈는 확실히 작은편이네요.. ㅠㅠ 하지만 저는 보는데에 살짝 불편함이 있을뿐 강의 자체가 되게 유익하고 핵심을 빠르게 알려주는 주제라서 많은 도움이 되었습니다. 감사합니다.

수강 후 이런걸 얻을 수 있어요

  • WebSocket 통신을 사용하는 이유

  • HTTP 통신와 WebSocker 통신의 차이

  • WebSocket의 장점과 단점

채팅 서버는 어떻게 구현을 하는 걸까요? 🤔


이러한 실시간에 대한 데이터에 대한 처리를 위한 프로토콜은 바로 WebSocket 통신에 있습니다.

일반적인 HTTP통신이 아니라, 지속적인 Connection에 대한 오버헤드를 줄이고 동시성을 챙기기 위한 통신입니다.

이 강의에서는 간단한 웹 템플릿을 제공하며, 해당 템플릿에 원하는 서버를 구축하여 채팅에 대한 기능을 구현하는 것을 목표로 하고 있습니다.


만약 백엔드 개발자로서, 일반적인 HTTP API는 작성은 할 줄 아시는 분들이 들으신다면, 더욱더 다양한 프로토콜을 다룰 수 있는 백엔드 개발자로서 성장 가능한 강의 입니다.

제 강의를 통해서 다시 한 번 코딩 공부에 대한 두근거림과 재미를 찾을 수 있으면 좋겠습니다.

HTTP 통신만 할 줄 알면, 백엔드 개발은 끝나는게 아닌가요?🤔

취업을 준비하는 학생분들은 이러한 생각을 가지고 있으실 수도 있습니다.

하지만 대기업, 중견기업등 다양한 면접을 보고, 합격을 하며 실제 판교 회사에 근무를 하면서

일반적인 HTTP 통신에 대해서만 개발을 하는 경우는 없습니다.


근본적인 데이터 수집 모듈을 만드실 수도 있고, RPC를 통한 게이트웨이 역할을 하는 서버를 구성하실 수도 있습니다.

이러한 이유로, HTTP통신을 넘어서서 다양한 프로토콜을 통해서 공부하고 직접 구현을 하는것이 취업이나 실무에서 굉장히 중요한 요인입니다.

만약, 대용량 TPS에 대한 RPC통신에 대해서 궁금하시다면, 아래 제 강의를 참고하시면 많은 도움이 될겁니다.

websockets을 그냥 HTTP로 구현을 하면 되는거 아닌가요? 🤔

📌 가능합니다. 불가능한 개발 방식은 아닙니다.

📌 하지만 서버 개발자는 일반적으로 서버에 대한 리소스를 최대한 절감을 하여 가져가야 합니다.

📌 그러기 떄문에, 채팅서버와 같이 지속적인 Connection이 유지되어야 하는 통신 같은 경우에는 WebSocket을 사용하는것이 매우 적합합니다.

📌 이러한 영상에서 확인 가능하신 것처럼, 실제 플랫폼을 구성하는데에 있어서 HTTP만을 사용하는 것이 아니라 다양한 프로토콜을 사용하게 됩니다.

이런 분들이 제 강의를 들으시면 많은 도움이 됩니다.

백엔드 개발로 레벨업하고 싶어요.부트캠프, 독학, 전공을 통해서 HTTP는 알겠는데, 그 이후로 무엇을 해야하는지 모르시는
백엔드 개발자 / 학생

다양한 네트워크 통신이 궁금해요
다양한 프로토콜에 대해서 궁금하고 학습을 원하시는
개발자 지망생 분들

프로토콜에 따라 인프라 구축이 궁금해요
데브옵스 엔지니어로서, 로드밸런싱을 적용하는 경우에 대해서 프로토콜 고려가 필요하신

데브옵스 엔지니어 / 학생

수강 후에는 다음과 같은 지식을 가지실 수 있습니다.

📌 WebSocket 프로토콜에 대한 학습

📌 지속적인 통신에 대한 오버헤드를 줄이는 방법

📌 직접 채팅서버를 구현함으로써 완성된, 포트폴리오

📌 실무에서 HTTP 프로토콜 이외에도 신규 서비스에 대해서 의견을 제안할 수 있는 지식

이런 내용을 배워요.

이러한 채팅서버를 만드는것을 목표로 합니다.

이 강의에서는 해당 영상에서와 같은 채팅 서버를 구현하는 것을 목표로 합니다.

프론트 템플릿을 제공

해당 강의는 백엔드에 치중되어 있습니다.

그렇기 때문에 테스트 및 디버깅을 위한 프론트 템플릿을 따로 제공하고 있습니다.

Draw.io를 통해서 아키텍처에 대한 설명

websockets을 사용할 때 주의해야 하는 점,

제가 실무에서 직접 겪으면서 디버깅을 진행했던 이력을 공유드립니다.

Bolierplate logging

판교 개발자는 Node에 대해서 어떻게 Bolierplate하는지, winston을 통한 로깅 처리는 어떻게 진행하는지 모든 것을 알려드립니다.

수강 전 참고 사항

실습 환경

  • 강의는 MacOS(M1) 기준으로 설명합니다.

  • 강의에서는 Go, Node.js 를 사용합니다. Go를 모르셔도 Node.js 코드를 제공하기 때문에, 무방합니다.


  • IDE는 Goland 및 vscode를 사용합니다.

2탄 강의가 오픈을 하였습니다.

기존 서비스 로직을 다루는것을 넘어서서, 실제 무중단 배포는 어떻게 되는지, Event 스트림은 어떻게 처리를 하는지에 대해서 중점적으로 다루고 있습니다.


추가적인 MySQL 설계를 통해 서비스를 더 견고하게 만드는 방법에 대해서도 같이 다루고 있습니다.

관심 있으시다면, 해당 링크를 참고해 주세요!!

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • HTTP만 개발해보신 백엔드 개발자

  • 개발을 처음 접하는 취업 준비생

  • 다양한 프로토콜에 흥미가 있으신 개발자

  • 데브옵스로써 프로토콜에 궁금하신 분

선수 지식,
필요할까요?

  • Go [ 모르셔도 Node.Js를 아신다면 무방합니다.]

  • NodeJs [ 모르셔도 Go를 아신다면 무방합니다.]

안녕하세요
July입니다.

3,833

수강생

192

수강평

88

답변

4.4

강의 평점

15

강의

자기 소개

비전공자 출신으로 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

서버 최적화와 다양한 쿼리 튜닝을 좋아하고 간단한 기능들을 여러분들에게 쉽고 빠르게 알려드리고자 노력하고 있습니다.

 

경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[前] 판교 대기업 플랫폼 서버 개발자

[] 판교 모회사 서버 개발자

더보기
강의 게시일: 
마지막 업데이트일: 

수강평

전체

39개

4.2

39개의 수강평

  • 이현석님의 프로필 이미지
    이현석

    수강평 1

    평균 평점 1.0

    1

    36% 수강 후 작성

    강의 퀄리티가 만족스럽지 않아요.

    • July
      지식공유자

      안녕하세요 평 남겨주셔서 감사합니다. 혹시 어떤부분에서 만족스러움을 드리지 못했는지 알려주시면 앞으로 고려하여 보완하고 더 좋은 강의로 찾아 뵐 수 있게 준비해 보도록 하겠습니다. 감사합니다!!

  • int님의 프로필 이미지
    int

    수강평 3

    평균 평점 3.7

    1

    63% 수강 후 작성

    아...솔직히 이 내용에 이 가격이 맞나싶네요. 솔직하게 추천 못하겠네요.

    • July
      지식공유자

      먼저 강의 수강해주셔서 감사합니다. 간단한 구현체를 스스로 만드는데에 집중하였고 죄송스럽게도 만족을 못드린거 같아 부끄럽네요 ㅠㅠ 다음에 더 좋은 강의를 통해서 찾아뵙겠습니다. 평 남겨주셔서 감사합니다!!

  • DAN님의 프로필 이미지
    DAN

    수강평 5

    평균 평점 4.6

    3

    96% 수강 후 작성

    화면이 너무 작네요. 줌 기능을 써도 해상도가 낮아서 눈 아파 못 보겠습니다. 영상 업데이트가 안되나요? 참고 볼랬는데 눈 아파서 도저히.. ---------------------------------------- 간단하게 웹소켓에 대해서 이해할 수 있는 좋은 구성이었습니다

    • July
      지식공유자

      죄송합니다. 강의 기준이 기본적으로 듀얼모니터를 사용하기 때문에 강의 폰트가 조금 작은 경향이 있습니다. 이는 제가 이런부분을 간과해서 작성이 되어서 발생한 문제입니다. ㅠㅠ 2탄 강의에서는 이러한 부분을 반영하였으니 좀 더 웹소켓 서비스에 궁금하시다면 참고해주시면 감사하겠습니다. 또한 강의 소스코드도 추후 업데이트 하도록 하겠습니다. 다시한번 강의 수강해주셔서 감사드리고 불편을 드려서 죄송합니다...!!

  • 김신원님의 프로필 이미지
    김신원

    수강평 4

    평균 평점 2.3

    1

    63% 수강 후 작성

    키보드 소리가 너무 커요 그리고 소스보기가 너무 힘들어요

    • July
      지식공유자

      만족스러움을 드리지 못해 죄송합니다 ㅠㅠ 강의 소리가 작다는 의견이 있어서 좀 높여봤는데 많이 불편하셨나 보네요...ㅠ 폰트 크기에 대해서도 많은 피드백을 받아서 앞으로 해당 부분을 고려하는 영상으로 찾아뵙도록 하겠습니다. 들어주셔서 감사합니다!

  • 심정진님의 프로필 이미지
    심정진

    수강평 10

    평균 평점 3.0

    1

    96% 수강 후 작성

    강의 제목은 '대용량 채팅 TPS 처리...' 이지만 강의 내용은 '웹소켓 채팅 샘플!!!'이네요.

    • July
      지식공유자

      안녕하세요 평 남겨주셔서 감사합니다. 우선 만족스러운 인상을 드리지 못해서 죄송합니다. 제가 해당 강의 이름을 사용한 이유는 대용량 채팅을 처리하는데에 있어서 반드시 사용이되는 웹소켓에 대해서 다루고 싶어서 사용하게 되었습니다. 개인적으로는 괜찮은 주제라고 생각하였지만 혼동을 드린거 같아서 죄송스럽네요. 다음에는 이러한 부분을 참고하여 더 좋은 강의로 찾아뵙도록 하겠습니다. 감사합니다!

July님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

연관 로드맵

강의가 포함된 로드맵으로 학습해 보세요!

지식공유자의 깜짝할인 중 (1일 남음)

₩19,800

25%

₩26,400