강의

멘토링

커뮤니티

Programming

/

Back-end

Learning by creating websocket communication for high-volume chat TPS processing

This lecture will cover and implement websocket communication for chat servers used on streaming platforms such as Africa, Naver (Chijijik), and Twitch.

(4.2) 34 reviews

631 learners

  • July
서버개발자
websockets
Go
Node.js

Reviews from Early Learners

What you will gain after the course

  • Why use WebSocket communication?

  • Difference between HTTP communication and WebSocker communication

  • Pros and Cons of WebSockets

Twitch, Chijijik (Naver), Africa
How do you implement a chat server? 🤔


The protocol for processing this real-time data is WebSocket communication.

This is not a general HTTP communication, but a communication to reduce the overhead of persistent connections and ensure concurrency .

This tutorial provides a simple web template and aims to implement chat functionality by building a server of your choice on top of that template.


If you are a backend developer and know how to write general HTTP APIs, this is a lecture that will help you grow as a backend developer who can handle a wider variety of protocols.

I hope that through my lectures, you can once again find excitement and enjoyment in learning coding.

If you only know how to communicate with HTTP, isn't backend development over? 🤔

Students preparing for employment may have these thoughts.

However, after going through various interviews at large and medium-sized companies, passing the interviews, and working at an actual company in Pangyo,

There are no cases where development is done only for general HTTP communication.


You can either create a basic data collection module or configure a server that acts as a gateway via RPC .

For this reason, studying and implementing various protocols beyond HTTP communication is a very important factor in employment and practical work.

If you are curious about RPC communication for large TPS, please refer to my lecture below, it will be very helpful.

Why not just implement websockets with HTTP? 🤔

📌 It is possible. It is not an impossible development method.

📌 However, server developers generally need to minimize the resources on the server as much as possible.

📌 Therefore, in cases where a persistent connection must be maintained, such as a chat server, using WebSocket is very suitable.

📌 As you can see from this video, when building an actual platform, you use not only HTTP but also various protocols.

People like this will find my lectures very helpful.

I want to level up in backend development. I know HTTP through bootcamps, self-study, and majoring, but I don't know what to do next.
Backend Developer / Student

I'm curious about various network communications.
Are you curious about and want to learn about various protocols?
Aspiring developers

I'm curious about building infrastructure according to the protocol.
As a DevOps engineer, you need to consider protocols when applying load balancing.

DevOps Engineer / Student

After taking the course, you will have the following knowledge:

📌 Learning about the WebSocket protocol

📌 How to reduce the overhead of persistent communication

📌 A portfolio completed by implementing a direct chat server

📌 Knowledge to suggest opinions on new services other than HTTP protocol in practice

Learn about these things.

Our goal is to create a chat server like this.

The goal of this tutorial is to implement a chat server like the one in the video.

Provide front template

This course focuses on the backend.

That's why we provide separate front-end templates for testing and debugging.

Explaining the architecture through Draw.io

Things to be aware of when using websockets:

I will share my experience of debugging through my own experience in the field.

Bolierplate logging

Pangyo developers will teach you everything about how to boilerplate Node and handle logging with Winston.

Things to note before taking the course

Practice environment

  • The lecture is based on MacOS (M1).

  • This course uses Go and Node.js. Even if you don't know Go, you can still participate, as Node.js code is provided.


  • The IDE uses Goland and vscode.

The second lecture has opened.

Beyond covering the existing service logic, we focus on how to achieve real-world zero-downtime deployment and how to handle event streams.


We also cover how to make your service more robust through additional MySQL design.

If you are interested, please refer to the link!!

Recommended for
these people

Who is this course right for?

  • Backend developer who has only developed HTTP

  • Job seekers who are new to development

  • Developers interested in various protocols

  • For those of you who are curious about protocols as a DevOps person

Need to know before starting?

  • Go [Even if you don't know, it's okay if you know Node.Js.]

  • NodeJs [It's okay if you don't know Go.]

Hello
This is

3,689

Learners

174

Reviews

88

Answers

4.5

Rating

15

Courses

자기 소개

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

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

 

경력

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

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

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

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

Curriculum

All

25 lectures ∙ (1hr 49min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

34 reviews

4.2

34 reviews

  • kimdh86274님의 프로필 이미지
    kimdh86274

    Reviews 5

    Average Rating 4.6

    3

    96% enrolled

    The screen is too small. Even with the zoom function, the resolution is low and my eyes hurt so I can't see it. Is the video not updating? I was going to refer to it, but my eyes hurt so much that I can't.. ---------------------------------------- It was a good composition that allowed me to understand web sockets simply.

    • july
      Instructor

      Sorry. Since the lecture standard basically uses dual monitors, the lecture font tends to be a little small. This is a problem that occurred because I overlooked this part and wrote it. ㅠㅠ This part has been reflected in the second lecture, so if you are curious about the web socket service, please refer to it. I will also update the lecture source code in the future. Thank you again for taking the lecture and I apologize for the inconvenience...!!

  • passionit님의 프로필 이미지
    passionit

    Reviews 4

    Average Rating 5.0

    Edited

    5

    100% enrolled

    I have come to understand sockets.

    • kcy1400님의 프로필 이미지
      kcy1400

      Reviews 2

      Average Rating 4.5

      4

      100% enrolled

      • jeongwon1234님의 프로필 이미지
        jeongwon1234

        Reviews 9

        Average Rating 5.0

        5

        63% enrolled

        • koosco님의 프로필 이미지
          koosco

          Reviews 11

          Average Rating 5.0

          5

          100% enrolled

          I really enjoyed the lecture. I used another monitor to watch the lecture, so I didn't have any major inconveniences. It was my first time configuring a server other than the http API server, but I think there's a lot to learn.

          • july
            Instructor

            Thank you for the good review! I think I'm preparing a lot of lectures on topics that are not easy to approach in general. I think there are many cases where developers don't have a lot of experience, so I prepared this topic ㅎㅎ I hope you continue to develop well in the future! Thank you 😁

        $20.90

        July's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!