Học cách xây dựng giao tiếp WebSocket để xử lý TPS chat lớn

Đây là khóa học tìm hiểu về giao tiếp WebSocket cho máy chủ chat được sử dụng trên nền tảng streaming và thực hành triển khai thực tế.

(4.2) 39 đánh giá

648 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

Node.js
Node.js
Go
Go
websockets
websockets
Node.js
Node.js
Go
Go
websockets
websockets

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.2

5.0

YongJun(Passion)

100% đã tham gia

Tôi đã có thể hiểu về socket.

5.0

rnxogud123

100% đã tham gia

Tôi thực sự rất thích bài giảng. Tôi không nghĩ có nhiều bất tiện khi xem bài giảng bằng màn hình bổ sung. Đây là lần đầu tiên tôi định cấu hình một máy chủ không phải máy chủ http API và tôi nghĩ có rất nhiều điều cần tìm hiểu.

5.0

Hong

33% đã tham gia

Cỡ chữ chắc chắn là nhỏ rồi.. ㅠㅠ Tuy nhiên, mặc dù tôi gặp chút khó khăn khi xem nó, nhưng bản thân bài giảng này rất hữu ích và giúp ích cho tôi rất nhiều vì nó đề cập đến những điểm chính một cách nhanh chóng. Cảm ơn

Bạn sẽ nhận được điều này sau khi học.

  • Lý do sử dụng giao tiếp WebSocket

  • Sự khác biệt giữa giao thức HTTP và WebSocket

  • Ưu điểm và nhược điểm của WebSocket

Làm thế nào để triển khai máy chủ chat? 🤔


Giao thức để xử lý dữ liệu thời gian thực như vậy chính là giao tiếp WebSocket.

Đây không phải là giao tiếp HTTP thông thường, mà là giao tiếp nhằm giảm thiểu overhead của kết nối liên tục và đảm bảo tính đồng thời.

Trong khóa học này, chúng tôi cung cấp một template web đơn giản và mục tiêu là xây dựng server mong muốn trên template đó để triển khai chức năng chat.


Nếu bạn là một backend developer đã biết cách viết HTTP API thông thường thì đây là khóa học giúp bạn phát triển thành một backend developer có thể xử lý nhiều giao thức đa dạng hơn.

Tôi hy vọng qua khóa học của mình, các bạn có thể tìm lại được sự hồi hộp và niềm vui trong việc học lập trình.

Nếu chỉ biết giao tiếp HTTP thì việc phát triển backend đã xong rồi phải không?🤔

Các bạn sinh viên đang chuẩn bị tìm việc có thể đang có suy nghĩ như vậy.

Nhưng sau khi trải qua nhiều cuộc phỏng vấn ở các công ty lớn, công ty vừa, được nhận việc và thực sự làm việc tại các công ty ở Pangyo

không có trường hợp chỉ phát triển giao tiếp HTTP thông thường.


Bạn có thể tạo module thu thập dữ liệu cơ bản, hoặc cấu hình server đóng vai trò gateway thông qua RPC.

Vì lý do này, việc học tập và tự tay triển khai thông qua các giao thức đa dạng vượt ra ngoài HTTP là một yếu tố vô cùng quan trọng trong việc xin việc cũng như trong thực tế công việc.

Nếu bạn tò mò về giao tiếp RPC cho TPS lớn, tham khảo khóa học của tôi bên dưới sẽ rất hữu ích.

websockets có thể chỉ cần triển khai bằng HTTP thôi phải không? 🤔

📌 Có thể. Không phải là phương pháp phát triển không khả thi.

📌 Tuy nhiên, nhà phát triển server thường phải tiết kiệm tài nguyên server tối đa có thể.

📌 Chính vì vậy, trong trường hợp giao tiếp cần duy trì kết nối liên tục như máy chủ chat thì việc sử dụng WebSocket là rất phù hợp.

📌 Như bạn có thể thấy trong những video này, khi xây dựng các nền tảng thực tế, chúng ta không chỉ sử dụng HTTP mà còn sử dụng nhiều giao thức khác nhau.

Những người như thế này sẽ được giúp đỡ rất nhiều khi nghe bài giảng của tôi.

Tôi muốn nâng cấp kỹ năng phát triển backend.Qua bootcamp, tự học, chuyên ngành đã hiểu về HTTP, nhưng không biết phải làm gì tiếp theo
Lập trình viên Backend / Sinh viên

Tôi tò mò về các loại giao tiếp mạng khác nhau
Những bạn tò mò và muốn học về các giao thức khác nhau
Các bạn đang hướng tới trở thành lập trình viên

Tôi tò mò về việc xây dựng hạ tầng theo giao thức
Với tư cách là kỹ sư DevOps, bạn cần xem xét giao thức trong trường hợp áp dụng cân bằng tải

Kỹ sư DevOps / Sinh viên

Sau khi hoàn thành khóa học, bạn sẽ có được những kiến thức sau đây.

📌 Học về giao thức WebSocket

📌 Phương pháp giảm thiểu overhead trong giao tiếp liên tục

📌 Portfolio hoàn chỉnh bằng cách tự tay xây dựng server chat

📌 Kiến thức để có thể đề xuất ý kiến về các dịch vụ mới ngoài giao thức HTTP trong thực tế công việc

Bạn sẽ học được những nội dung sau.

Mục tiêu là tạo ra một máy chủ chat như thế này.

Khóa học này đặt mục tiêu xây dựng một server chat như trong video này.

Cung cấp template frontend

Khóa học này tập trung vào backend.

Vì vậy, chúng tôi cung cấp riêng template frontend để test và debug.

Draw.io để giải thích về kiến trúc

Những điểm cần lưu ý khi sử dụng websockets,

Tôi sẽ chia sẻ kinh nghiệm debug mà tôi đã trực tiếp trải qua trong thực tế công việc.

Bolierplate logging

Lập trình viên Pangyo sẽ chỉ cho bạn mọi thứ về cách tạo Boilerplate cho Node, cách xử lý logging thông qua winston.

Lưu ý trước khi học

Môi trường thực hành

  • Khóa học được giải thích dựa trên MacOS(M1).

  • Trong khóa học sử dụng Go, Node.js. Ngay cả khi bạn không biết Go cũng không sao vì có cung cấp mã Node.js.


  • IDE sử dụng là Goland và vscode.

Khóa học phần 2 đã được mở.

Ngoài việc xử lý logic dịch vụ hiện có, khóa học tập trung vào cách thực hiện triển khai không downtime trong thực tế và cách xử lý luồng Event như thế nào.


Ngoài ra còn đề cập đến cách làm cho dịch vụ vững chắc hơn thông qua thiết kế MySQL bổ sung.

Nếu bạn quan tâm, vui lòng tham khảo link này!!

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend chỉ phát triển HTTP

  • Sinh viên chuẩn bị việc làm mới tiếp xúc với lập trình

  • Nhà phát triển quan tâm đến các giao thức đa dạng

  • Những ai tò mò về giao thức với tư cách là DevOps

Cần biết trước khi bắt đầu?

  • Go [Nếu bạn biết Node.js thì cũng không sao.]

  • NodeJs [Nếu không biết cũng không sao nếu bạn biết Go.]

Xin chào
Đây là July

3,833

Học viên

192

Đánh giá

88

Trả lời

4.4

Xếp hạng

15

Các khóa học

Giới thiệu bản thân

Xuất thân là người học trái ngành, hiện tôi đang đảm nhiệm vị trí phát triển máy chủ nền tảng tại Pangyo.

Tôi yêu thích việc tối ưu hóa máy chủ và tinh chỉnh các truy vấn (query tuning) khác nhau, đồng thời luôn nỗ lực để hướng dẫn các bạn những tính năng đơn giản một cách nhanh chóng và dễ hiểu nhất.

 

Kinh nghiệm làm việc

[Cựu] Nhà phát triển Blockchain tại Sandbox

[Cựu] Nhà phát triển Backend tại công ty con của Nexon

[Cựu] Nhà phát triển máy chủ nền tảng tại tập đoàn lớn ở Pangyo

[Hiện tại] Nhà phát triển máy chủ tại công ty mẹ ở Pangyo

Thêm

Chương trình giảng dạy

Tất cả

25 bài giảng ∙ (1giờ 49phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

39 đánh giá

4.2

39 đánh giá

  • itsnotez2805님의 프로필 이미지
    itsnotez2805

    Đánh giá 4

    Đánh giá trung bình 2.3

    1

    63% đã tham gia

    Âm thanh bàn phím quá to và khó xem được mã nguồn.

    • july
      Giảng viên

      Tôi xin lỗi vì không thể làm bạn hài lòng. Tôi nghe thấy âm thanh bài giảng quá nhỏ nên tôi đã cố gắng tăng âm lượng lên một chút nhưng có vẻ như rất bất tiện...ㅠ Chúng tôi cũng đã nhận được rất nhiều phản hồi về kích thước phông chữ, vì vậy chúng tôi sẽ quay lại bằng một video xem xét vấn đề đó trong tương lai. Cảm ơn đã lắng nghe!

  • int님의 프로필 이미지
    int

    Đánh giá 3

    Đánh giá trung bình 3.7

    1

    63% đã tham gia

    À... thành thật mà nói, tôi tự hỏi liệu mức giá này có phù hợp với nội dung này không. Thành thật mà nói, tôi không thể khuyên bạn nên nó.

    • july
      Giảng viên

      Trước tiên xin cảm ơn bạn đã tham gia khóa học. Tôi đã tập trung vào việc tự mình tạo ra một triển khai đơn giản và tôi xin lỗi vì không thể làm bạn hài lòng. Hẹn gặp lại bạn lần sau với một bài giảng hay hơn. Cảm ơn bạn đã để lại đánh giá!!

  • yaha79373님의 프로필 이미지
    yaha79373

    Đánh giá 10

    Đánh giá trung bình 3.0

    1

    96% đã tham gia

    강의 tiêu đề là 'Xử lý TPS trò chuyện dung lượng lớn...' nhưng nội dung bài giảng lại là 'Mẫu trò chuyện WebSocket!!!'.

    • july
      Giảng viên

      Xin chào, cảm ơn bạn đã để lại đánh giá. Trước hết, tôi xin lỗi vì không thể mang lại cho bạn ấn tượng thỏa đáng. Lý do tôi sử dụng tên bài giảng đó là vì tôi muốn đề cập đến web socket, thành phần thiết yếu để xử lý các cuộc trò chuyện dung lượng lớn. Cá nhân tôi nghĩ đây là một chủ đề hay, nhưng tôi xin lỗi nếu tôi gây ra bất kỳ sự nhầm lẫn nào. Lần sau, tôi sẽ tham khảo những phần này và quay lại với bài giảng hay hơn. Cảm ơn!

  • kimdh86274님의 프로필 이미지
    kimdh86274

    Đánh giá 5

    Đánh giá trung bình 4.6

    3

    96% đã tham gia

    Màn hình quá nhỏ. Ngay cả khi bạn sử dụng chức năng zoom, độ phân giải thấp đến mức khiến bạn nhức mắt. Video không cập nhật à? Tôi cố gắng xem nhưng mắt tôi đau quá nên không thể xem được. ---------------------------------------- Đó là một cấu trúc tốt để hiểu đơn giản về websockets.

    • july
      Giảng viên

      Xin lỗi. Vì tiêu chuẩn cho bài giảng là sử dụng màn hình kép nên phông chữ bài giảng có xu hướng hơi nhỏ. Sự cố này xảy ra do tôi đã bỏ qua phần này khi viết. ㅠㅠ Phần này đã được phản ánh trong bài giảng thứ hai, vì vậy hãy tham khảo nếu bạn tò mò về dịch vụ websocket. Chúng tôi cũng sẽ cập nhật mã nguồn khóa học sau. Một lần nữa xin cảm ơn bạn đã tham gia khóa học và chúng tôi xin lỗi vì bất kỳ sự bất tiện nào...!!

  • monoless9230님의 프로필 이미지
    monoless9230

    Đánh giá 1

    Đánh giá trung bình 1.0

    1

    36% đã tham gia

    Tôi không hài lòng với chất lượng bài giảng.

    • july
      Giảng viên

      Xin chào, cảm ơn bạn đã để lại đánh giá. Vui lòng cho chúng tôi biết nếu bạn không hài lòng với bất kỳ phần nào và chúng tôi sẽ xem xét nó trong tương lai để cải thiện nó và chuẩn bị cung cấp cho bạn một bài giảng tốt hơn. Cảm ơn!!

Khóa học khác của July

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn, kết thúc sau 1 ngày ngày

447.665 ₫

21%

567.043 ₫