강의

멘토링

커뮤니티

Programming

/

Back-end

DGS: Cách NETFLIX xử lý lưu lượng truy cập lớn bằng Spring Boot

Netflix đã chọn DGS thay vì REST! Trên thực tế, đây là framework mà Netflix đang sử dụng để xử lý lưu lượng truy cập lớn. Hãy cùng tìm hiểu cách sử dụng GraphQL một cách dễ dàng và mạnh mẽ trong Spring Boot nhé! 🔥

(4.9) 9 đánh giá

116 học viên

  • Burger
실습 중심
GraphQL
Spring Boot
netflix-dgs

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

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

  • Xây dựng máy chủ GraphQL hiệu quả bằng Spring Boot

  • Phát triển máy chủ bằng cách sử dụng khung DGS của NETFLIX

  • Phương pháp xử lý lưu lượng truy cập lớn hiệu quả bằng DGS

Framework NETFLIX-DGS là gì?

1⃣ Netflix đã phát triển và đang sử dụng framework GraphQL dựa trên Spring Boot

2⃣ Được tạo ra để khắc phục các vấn đề của REST API hiện có và vận hành GraphQL tối ưu trong môi trường microservices.

3⃣ Đây là framework được phát triển tập trung vào năng suất hiệu quả của các nhà phát triển.

4⃣ Netflix nội bộ sử dụng DGS trong hàng trăm dịch vụ và đây là công nghệ đã được kiểm chứng trong thực tế.

5⃣ Hỗ trợ GraphQL Federation để có khả năng mở rộng tuyệt vời ngay cả trong các hệ thống quy mô lớn.

6⃣ Đội Java Platform của Netflix đang trong quá trình phát triển và tối ưu hóa liên tục, và hiện tại đã được công bố dưới dạng mã nguồn mở. 🚀

NETFLIX đã Spring Bootxử lý lưu lượng truy cập lớn một cách hiệu quả như thế nào

NETFLIX đã phát triển framework DGS thông qua quá trình như thế này.

  • Năm 2018 NETFLIX đã nghiên cứu việc sử dụng GraphQL để giải quyết các vấn đề trong vận hành REST API

  • Năm 2019 bắt đầu triển khai GraphQL cho một số dịch vụ

  • Năm 2020 thiết kế framework DGS để có thể phát triển GraphQL hiệu quả hơn

  • Năm 2021 công khai framework DGS chỉ được sử dụng nội bộ thành mã nguồn mở

  • Từ năm 2022 đến nay, NETFLIX đang vận hành hàng trăm dịch vụ nội bộ bằng DGS và có kế hoạch cải thiện liên tục

Tin tưởng và sử dụng DGS Framework 1 - Đội hỗ trợ đáng tin cậy

Người phát triển đầu tiên và là nhân vật cốt lõi trong việc phát triển DGS chính là lập trình viên Paul Bakker.

Paul là một nhà phát triển có ảnh hưởng lớn trong hệ sinh thái Java, thậm chí còn được chọn làm Java Champion.

Thực tế, thông qua việc trao đổi email với Paul, tôi đã có thể xác nhận sự phát triển liên tục và ý chí của DGS bên trong NETFLIX, và các chi tiết cụ thể đã được đưa vào khóa học netflix-dgs ở Phần 2 bên dưới.

Tôi nghĩ việc có NETFLIX với nguồn lực khổng lồ làm đội hỗ trợ chính là sự bảo đảm mà chúng ta có thể tin tưởng và sử dụng mà không cần nghi ngờ gì 😀

Paul Bakker

DGS Github README

Tin tưởng và sử dụng DGS Framework 2 - Cải tiến liên tục

DGS hiện đang được sử dụng tích cực trong nội bộ NETFLIX, và là một trong những framework có cập nhật tích cực nhất trong số nhiều NETFLIX OSS(Open Source Software).


Thực tế nếu bạn kiểm tra repository DGS GitHub, bạn có thể thấy rằng phiên bản mới luôn được phát hành trong vòng 1 tuần.

NETFLIXSpring hợp tác chặt chẽ để phát hành phiên bản 10.x!

Tháng 3 năm 2024, NETFLIX đã công bố việc tích hợp DGS và Spring for GraphQL thông qua sự hợp tác chặt chẽ với đội ngũ Spring.
Kế hoạch tích hợp được dự kiến hoàn thành vào cuối năm 2024, và vào ngày 21 tháng 12 năm 2024, việc tích hợp đã được phát hành với phiên bản 10.x!

Trong phiên bản này, chúng tôi đã loại bỏ tất cả các module và code cũ, giảm đáng kể kích thước codebase.

Điều này được kỳ vọng sẽ góp phần tăng tốc độ phát triển tính năng trong tương lai.

Và đã trải qua công việc tối ưu hóa hiệu suất, giúp các nhà phát triển có thể thực hiện phát triển hiệu quả hơn.

Thông qua khóa học này, bạn có thể trực tiếp áp dụng công nghệ mà NETFLIX đã채택 vào dịch vụ của mình!

Trong bài giảng này, chúng tôi đã trình bày cách sử dụng cơ bản của DGS một cách ngắn gọn nhất có thể với chỉ những nội dung cần thiết.

Bạn có thể nghĩ rằng thời lượng khóa học ngắn để học một công nghệ, nhưng trong video, tôi đã cắt bỏ tất cả những nội dung không cần thiết và những khoảng thời gian vô nghĩa thông qua việc chỉnh sửa, chỉ giữ lại những phần mà tôi cho là thực sự cần thiết.

Thông qua trải nghiệm phát triển trực tiếp các dịch vụ nhỏ, bạn có thể nhanh chóng nắm vững công nghệ!

Trong khóa học này, chúng ta sẽ phát triển dịch vụ moview - một nền tảng tìm kiếm phim ảo - bằng cách sử dụng DGS.

Thông qua những trải nghiệm như vậy, bạn có thể nhanh chóng nắm bắt công nghệ và rèn luyện khả năng ứng dụng vào thực tế công việc!

Tôi đã cấu trúc khóa học để bạn có thể hiểu một cách dễ dàng và thoải mái nhất!

Trong mỗi phần, chúng tôi đã cố gắng trình bày một cách dễ hiểu bằng cách học lý thuyết về một chức năng của DGS trước, sau đó chuyển sang thực hành.


Một phần trong bài giảng lý thuyết

Cung cấp mã nguồn cho cả các nhà phát triển kotlin và java

Trong khóa học, thực hành được tiến hành bằng kotlin nhưng mã code cần thiết cũng được cung cấp bằng java code thông qua ghi chú bài học bên dưới video bài giảng!

Mã java được cung cấp

Nếu bạn không có kiến thức trước về GraphQL thì sao?

Trong các khóa học miễn phí của tôi có một khóa học về lý thuyết và thực hành GraphQL.

Trong khóa học đó cũng có thực hành đơn giản với Spring, nên những bạn mới tiếp xúc với GraphQL lần đầu, nếu chỉ học khóa học đó thôi, cũng có thể học khóa này không có vấn đề gì!


Nhấn vào hình ảnh bên phải để chuyển ngay đến bài giảng!

스크린샷 2025-02-23 오후 6.35.33

Khóa học GraphQL miễn phí

Những lưu ý trước khi học

Đã mở phòng chat mở Netflix DGS! 😊

Hiện tại ở trong nước chưa có cộng đồng DGS nào hoạt động mạnh mẽ nên tôi nghĩ sẽ rất tốt nếu có một không gian để những người quan tâm có thể chia sẻ thông tin với nhau, vì vậy tôi đã tạo ra nó!

Vì đây vẫn còn là công nghệ ở giai đoạn đầu nên tôi nghĩ sẽ có rất nhiều thay đổi mới và tin tức mới.

Tôi cũng đang trong quá trình học hỏi và trải nghiệm, muốn cùng những người có cùng suy nghĩ tạo nên một nền văn hóa chung!

Những bạn quan tâm có thể thoải mái tham gia vào phòng chat mở Kakao bên dưới, tôi sẽ rất biết ơn!

Ngoài ra, các bạn cũng có thể thoải mái hỏi những câu hỏi liên quan đến khóa học trong phòng chat này hoặc qua chat 1-1!
Cảm ơn các bạn!


Netflix DGS cửa hàng số 1 tại Hàn Quốc

https://open.kakao.com/o/go6lsDDg

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

  • Hệ điều hành và phiên bản (OS): macOS

  • Công cụ sử dụng: intellij IDE

  • Framework: Spring Boot 3.4.x / DGS 10.0.x

  • Ngôn ngữ sử dụng: kotlin

Tài liệu học tập

  • Vì được sản xuất để phù hợp với kịch bản bài giảng nên có những trang tương tự liên tiếp, tôi đánh giá rằng chỉ riêng ppt không phù hợp cho việc học tập nên đã không tải lên tài liệu học tập trong bài giảng.

  • Nếu bạn cần thì hãy để lại câu hỏi, chúng tôi sẽ cung cấp tài liệu ppt cho bạn.


Kiến thức tiên quyết và lưu ý

  • Việc có hiểu biết cơ bản về framework Spring Boot sẽ giúp ích cho việc học tập.

  • Hiểu biết cơ bản về GraphQL sẽ giúp ích cho việc học tập.
    -> Chỉ cần học khóa học miễn phí của tôi cũng đã đủ rồi!


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

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

  • Những ai muốn phát triển API GraphQL bằng Spring Boot

  • Dành cho những ai muốn tìm hiểu cách Netflix xử lý lưu lượng truy cập lớn

  • Dành cho nhà phát triển muốn sử dụng GraphQL một cách thành thạo trong thực tế

  • Các công ty và nhóm đang cân nhắc chuyển đổi từ REST sang GraphQL

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

  • Các khái niệm cơ bản của GraphQL

  • Các khái niệm cơ bản về Java hoặc Kotlin Spring Boot

Xin chào
Đây là

1,926

Học viên

59

Đánh giá

46

Trả lời

4.8

Xếp hạng

3

Các khóa học

 

AWS Certificated Professional 및 Associate 다수 보유

전 스타트업 CTO

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

Tất cả

36 bài giảng ∙ (2giờ 43phú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ả

9 đánh giá

4.9

9 đánh giá

  • handicap256327님의 프로필 이미지
    handicap256327

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    It was my first time seeing this technology in Spring, and I liked that I could learn a new perspective. Personally, I think it would be really good to study it a bit more and try implementing it. I liked that the lectures quickly taught only what was necessary.

    • burger
      Giảng viên

      Hello Geon-ho! I was also curious about the technology that Netflix is using for the first time, so I tried it and decided to adopt it because I thought it was much more efficient and better than I expected. I can definitely feel that the operating cost has been reduced after the actual introduction 😊😊 I hope DGS and my lecture will be helpful for Geon-ho's service. Thank you for the review 😃

  • lgshow5599님의 프로필 이미지
    lgshow5599

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    • fain9301님의 프로필 이미지
      fain9301

      Đánh giá 97

      Đánh giá trung bình 4.8

      5

      100% đã tham gia

      Thank you for the good lecture.

      • dlqm16810666님의 프로필 이미지
        dlqm16810666

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        31% đã tham gia

        • salt님의 프로필 이미지
          salt

          Đánh giá 25

          Đánh giá trung bình 5.0

          5

          31% đã tham gia

          This was a very helpful lecture at a time when I was thinking about new interface technologies.

          • burger
            Giảng viên

            Hello DoYoung Ahn! I was always yearning for new technology, and finding this technology felt like receiving a much-needed rain. I'm still using it in my work, and it's a technology that feels incredibly convenient and efficient once you get used to it. I hope it was helpful to you too, DoYoung. Thank you!😀

        923.946 ₫

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

        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!