Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Back-end

DGS: NETFLIXがSpring Bootで大量トラフィックを処理する方法

NetflixがRESTの代わりに選択したDGS! 実際にNetflixが大量のトラフィックを処理するために使用しているフレームワークで、Spring BootでGraphQLを簡単かつ強力に活用する方法を学びましょう!🔥

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

学習した受講者のレビュー

こんなことが学べます

  • Spring Bootで実装する効率的なGraphQLサーバー

  • NETFLIXのDGSフレームワークを活用したサーバー開発

  • DGSで効率的な大容量トラフィック処理方法

NETFLIX-DGSフレームワークとは何ですか?

1⃣ Netflixが直接開発して使用しているSpring BootベースのGraphQLフレームワーク

2⃣既存のREST APIの問題を克服し、マイクロサービス環境で最適なGraphQL運用のために作成されました。

3⃣開発者の効率的な生産性に焦点を当てて開発されたフレームワークです。

4⃣Netflix内部の何百ものサービスでDGSを使用し、実務で検証された技術です。

5⃣ GraphQL Federationをサポートし、大規模なシステムでもスケーラビリティに優れています。

6⃣NetflixのJava Platformチームは継続的な開発と最適化を行っており、現在はオープンソースとして公開されています。 🚀

NETFLIXSpring Bootで大量のトラフィックを効率的に処理する方法

NETFLIXはこのプロセスを通じてDGSフレームワークを開発しました。

  • 2018年NETFLIXは、REST API運用の問題を解決するためのGraphQLの活用を研究

  • 2019年、一部のサービスにGraphQLの導入を開始

  • 2020年にGraphQLをより効率的に開発できるようにDGSフレームワークを設計

  • 2021年に内部的にのみ使用していたDGSフレームワークをオープンソースで公開

  • 2022年~現在まで、NETFLIXは内部の数百のサービスをDGSとして運営中であり、継続的に改善する計画

信じて書くDGSフレームワーク1 - 頑固な支援群

DGSの最初のAuthorであり、開発の中心となる人物はPaul Bakkerという開発者です。

PaulはJava Championとしても選ばれるほど、Javaエコシステムで影響力の大きい開発者です。

実際にPaulとメールをやり取りし、NETFLIX内部でDGSの継続的な開発と意志を確認することができました。

巨大リソースを保有するNETFLIXが支援群とは疑いもなく信じて使えるという保証だと私は思います😀

Paul Bakker

DGS Github README

信じて書くDGSフレームワーク2 - 継続的な改善

DGSはNETFLIX内部でも現在積極的に使用されており、多くのNETFLIX OSS (Open Source Software)の中でもアップデートが最も活発に行われているフレームワークの一つです。


実際にDGS FitHub Repositoryを確認すると、常に1週間以内に新しいバージョンがリリースされることを確認できます。

NETFLIXSpringチーム間の緊密な協力で10.xバージョンをリリース!

2024年3月、NETFLIXはSpringチームと緊密な協力を得て、DGSとSpring for GraphQLの統合を発表しました。
統合計画は2024年末までに予定されており、2024年12月21日に10.xバージョンに統合されてリリースされました!

このバージョンでは、従来のレガシーモジュールとコードの両方を削除し、コードベースのサイズを大幅に削減しました。

これは、今後の機能開発のスピードアップに貢献することが期待されます。

そしてパフォーマンスの最適化作業を経て、開発者がより効率的な開発ができるようになったそうです。

この講義により、NETFLIXが採用した技術を直接サービスに導入することができます!

講義では、DGSの基本的な使用方法を必要な内容だけをできるだけ簡潔に込めました。

あるスキルを学ぶには講義時間が短いと思うかもしれませんが、映像で不要な内容と意味のない時間をすべて編集で切り取り、ちょうど必要だと思われる部分だけ残しました。

小さなサービスを直接開発する経験により、迅速にスキルを習得できます!

講義では、仮想映画検索プラットフォームであるmoviewサービスをDGSを使って開発を進めています。

こういう経験により、素早くスキルを習得し、実務に取り入れる感覚を身につけることができます!

最も簡単で快適に理解できるように講義を整理しました!

各セクションでは、DGSの1つの機能について理論講義を最初に学び、実習に進む方法で簡単に解くように狙いました。


理論講義の一部

kotlinとjava開発者の両方にコードを提供

講義で実習はkotlinで進行しますが、必要なコードは講義映像の下の授業ノートを通じてjavaコードでも提供されています!

提供されるjavaコード

GraphQLの事前知識がない場合は?

私の無料講義の中で、GraphQLの理論と実践を扱う講義があります。

該当講義でスプリングで簡単な実習も行われますので、GraphQLを初めて接する方も該当講義のみ受講されたら、問題なくこの講義も受講いただけます!


右の画像をタップするとすぐに講義に移動します!

スクリーンショット2025-02-23午後6.35.33

無料GraphQL講義

受講前の注意

Netflix DGSオープンチャットルームを開設しました! 😊

現在、国内に大きく活性化されたDGSのコミュニティが存在せず、関心のある方同士で情報を共有できるそんな空間があればいいと思うようになりました!

まだ初期技術であるだけに、新しい多くの変化と新しいニュースが多いと思います。

私もまだ学んで経験していく立場で、同じ考えを持った方々と一緒に文化を作りたいと思います!

興味のある方は下記カカオオープンチャットルームにお気軽にお越しいただければ幸いです!

また、講義に関する質問もこのチャットルームや、または1対1チャットで楽に聞いていただいてもいいです!
ありがとうございます!


Netflix DGS韓国1号店

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

練習環境

  • オペレーティングシステムとバージョン(OS):macOS

  • 使用ツール: intellij IDE

  • フレームワーク: Spring Boot 3.4.x / DGS 10.0.x

  • 使用言語: kotlin

学習資料

  • 講義の台本と合わせて製作してみると、似たようなページが連続したりする理由でpptだけでは学習に適さないと判断され、講義に学習資料をアップロードしませんでした。

  • 必要な方はお問い合わせを残していただければppt資料提供させていただきます。


選手の知識と注意事項

  • Spring Bootフレームワークの基本的な理解があれば、受講に役立ちます。

  • GraphQLの基本的な理解があれば、受講に役立ちます。
    ->私の無料講義のみ受講しても十分です!


こんな方に
おすすめです

学習対象は
誰でしょう?

  • Spring BootでGraphQL APIを開発したい方々へ

  • Netflixが大量のトラフィックを処理する方法を学びたい方

  • GraphQLを実務でしっかり活用したい開発者

  • REST에서 GraphQL로 전환을 고려하는 기업 및 팀

前提知識、
必要でしょうか?

  • GraphQLの基本概念

  • JavaまたはKotlin Spring Bootの基本概念

こんにちは
です。

1,790

受講生

50

受講レビュー

46

回答

4.8

講座評価

3

講座

 

AWS Certificated Professional 및 Associate 다수 보유

현 스타트업 CTO

カリキュラム

全体

36件 ∙ (2時間 43分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

7件

5.0

7件の受講レビュー

  • 김건호님의 프로필 이미지
    김건호

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    스프링에서 처음보는 기술인데 새로운 관점 배울 수 있어서 좋았던것같습니다. 개인적으로 조금 더 공부해보고 도입해보면 확실히 괜찮을것 같아요. 강의는 딱 필요한 부분만 빠르게 배울 수 있어서 보기 좋았던것같아요.

    • Burger
      知識共有者

      안녕하세여 건호님! 저도 처음보는 기술에 넷플릭스가 사용하고 있다는 말에 호기심이 생겨 사용해보니 기대보다 많이 효율적이고 좋은 기술이라는 생각이들어 도입하게되었습니다. 실제로 도입 후 운영 비용이 준게 확실히 느껴지기도 하구요 ㅎㅎ 건호님 서비스에도 DGS와 제 강의가 도움이 되었으면 합니다 리뷰 감사합니다 😃

  • 윤설화님의 프로필 이미지
    윤설화

    受講レビュー 2

    平均評価 5.0

    5

    31% 受講後に作成

    • DoYoung Ahn님의 프로필 이미지
      DoYoung Ahn

      受講レビュー 19

      平均評価 5.0

      5

      31% 受講後に作成

      새로운 인터페이스기술을 고민하는 시점에 너무나 유용한 강의였습니다.

      • Burger
        知識共有者

        안녕하세요 DoYoung Ahn님! 저도 항상 새로운 기술에 목말라있었는데, 이 기술을 찾고 단비를 맞은 기분이었습니다. 지금도 저는 실무에서 사용하고 있는데 익숙해지면 엄천 편하고 효율적이란 생각이 드는 기술입니다. 도영님에게도 도움이 되셨길 바랍니다. 감사합니다!😀

    • 손민우님의 프로필 이미지
      손민우

      受講レビュー 13

      平均評価 5.0

      5

      8% 受講後に作成

      • Burger
        知識共有者

        안녕하세요 손민우님! 강의가 도움되셨길 바랍니다. 감사합니다! 👍

    • 뉴비님의 프로필 이미지
      뉴비

      受講レビュー 27

      平均評価 4.9

      5

      100% 受講後に作成

      쉽게 적용해 볼 수 있을 것 같습니다

      • Burger
        知識共有者

        안녕하세요 뉴비님~! 실제로 적용해보면 운영 효울이 많이 높아지는걸 경험하실거라 생각합니다! 수강해주셔서 감사하고 도움이 되셨길바랍니다!😀

    期間限定セール

    ¥39,600

    10%

    ¥5,225

    burgerの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!