강의

멘토링

커뮤니티

개발 · 프로그래밍

/

백엔드

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

아프리카, 네이버(치지직), 트위치 이러한 스트리밍 플랫폼에서 사용하는 채팅서버를 위한 웹소캣 통신에 대해서 알아보고 실제로 구현을 하는 강의 입니다.

(4.3) 수강평 38개

수강생 635명

난이도 초급

수강기한 무제한

  • July
서버개발자
서버개발자
서버개발자
서버개발자

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

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

  • 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를 아신다면 무방합니다.]

안녕하세요
입니다.

3,716

수강생

183

수강평

88

답변

4.4

강의 평점

15

강의

자기 소개

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

서버 최적화와 다양한 쿼리 튜닝을 좋아합니다.

 

경력

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

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

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

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

커리큘럼

전체

25개 ∙ (1시간 49분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

38개

4.3

38개의 수강평

  • YongJun(Passion)님의 프로필 이미지
    YongJun(Passion)

    수강평 4

    평균 평점 5.0

    수정됨

    5

    100% 수강 후 작성

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

    • 강창유님의 프로필 이미지
      강창유

      수강평 2

      평균 평점 4.5

      4

      100% 수강 후 작성

      • Jeongwon님의 프로필 이미지
        Jeongwon

        수강평 9

        평균 평점 5.0

        5

        63% 수강 후 작성

        • rnxogud123님의 프로필 이미지
          rnxogud123

          수강평 11

          평균 평점 5.0

          5

          100% 수강 후 작성

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

          • July
            지식공유자

            좋은 평 감사합니다! 아무래도 일반적으로 접하기 쉽지않은 주제로 강의를 많이 준비해보고 있습니다. 생각보다 개발하시는 분들이 다양한 경험이 없으신 경우가 많으셔서 이런 주제로 준비해보았네요 ㅎㅎ 앞으로도 좋은 개발하시길 바라겠습니다! 감사합니다 😁

        • Hong님의 프로필 이미지
          Hong

          수강평 1

          평균 평점 5.0

          5

          33% 수강 후 작성

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

          • July
            지식공유자

            일반적인 서버 강의를 다루고 싶지는 않아서 이렇게 준비하게 되었습니다. 추가적인 질문이 있다면 편하게 질문주세요!! 감사합니다!

        인프런 10주년! 사랑주간 전체 할인 중 (5일 남음)

        ₩18,480

        30%

        ₩26,400

        July님의 다른 강의

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

        비슷한 강의

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