NAVERの面接官が使用する超低遅延およびメッセージング分散システムNATS

バックエンド開発をしていると、ある瞬間、このような悩みに直面することがあります。 サービスが増え、トラフィックが増加するにつれて、単純なREST通信とCRUD構造だけでは限界を感じる瞬間です。私自身も実務で同じ問題を経験し、パフォーマンスと構造の複雑さの間で多くの試行錯誤を繰り返しました。 その過程で選んだ答えが、まさにNATSでした。単一バイナリベースのシンプルな構成、マイクロ秒単位の超低遅延パフォーマンス、そしてPub/SubからQueue Group、JetStreamまで、実務に不可欠な機能を過不足なく提供している点は、実際のサービス環境において非常に現実的な選択肢でした。 この講義は、NATSの機能を羅列する講義ではありません。私が実務で直面した問題を基準に、どのような状況でなぜNATSを選択し、どのように構造を設計したのかを、コードとフローで説明します。メッセージングシステムが初めての方から、就職を準備しているバックエンド開発者、そしてより良いアーキテクチャを模索しているシニア開発者まで、誰もが分散システムを理解し、一段階成長できるようサポートする講義です。

難易度 初級

受講期間 無制限

JavaScript
JavaScript
Node.js
Node.js
Java
Java
Docker
Docker
TypeScript
TypeScript
JavaScript
JavaScript
Node.js
Node.js
Java
Java
Docker
Docker
TypeScript
TypeScript

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

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

5.0

5.0

Ande

92% 受講後に作成

この講義を作ったNaverで開発しているAndeと申します!! NATS... 皆さん馴染みがないかもしれませんが、本当にとても良いプラットフォームで、活用度が非常に高い構造です。 それだけ私も愛用している方で、実務でも重点的に使用しています。 できる限り私が経験して知っている部分についてお伝えできるよう努力しましたので、どうか楽しくご覧いただき、たくさんのフィードバックをお願いします。 良い一日をお過ごしください!!

5.0

02년생 개발자

96% 受講後に作成

本当にこのNATSについて何も知らなくても全てを教えてくれる講義だと思います。説明もとても上手で、このプラットフォームがなぜ有用なのか、そしてどのように使用すべきなのか、実力のある開発者の方が隣で教えてくれているようです... とても良い講義でした。ありがとうございます。

5.0

에이미

92% 受講後に作成

他の講義も有益に見ましたが、この講義もとても有益に見させていただきました。これからも良い講義を作り続けてください ㅠㅠ 決済は私がします... 講義のクオリティもどんどん上がっていて(もちろん今もとても良いです...!!)お金が全く惜しくない講義ばかり作ってくださっているようです... ㅠㅠ この金額でこのようなテーマを扱ってくださることがとても感謝しています。

受講後に得られること

  • NATSベースの超低遅延メッセージングアーキテクチャを直接設計・実装できる能力

  • Pub/Sub、Request-Reply、Queue Groupを状況に応じて選択し、適用する設計能力

  • Consumer Lagとボトルネックを考慮した安定的な分散メッセージング構造の構築経験

  • JetStreamを活用したメッセージ永続性と実務型イベント処理パイプラインの実装

  • CRUDを超えてイベント駆動型分散システムを説明し、設計できるバックエンドの能力

MSA環境での超低遅延のための分散メッセージングシステム!!新しく合流したNAVERの開発者が教える。

  • 以下の内容は実際の会話内容です。

😄 Naver 開発者 : もしかして NATS という MSQ をご存知の方はいらっしゃいますか?? 私が主に使用しているので、そのようなテーマで一度撮影してみようと思っているのですが

😁 Kakao 開発者(面接官) : ああ、それ使ったことあるよ。Coreレベルで使えばマイクロ秒単位のパフォーマンスも出ると聞いているけど。

😄 Naver 開発者 : そうだね。でも現実的には Core までは使わず、HAのために JetStream 形式でよく使われているよね。簡単な MSQ を実装して導入する分には、すごく有用だと思っているよ。

😄 Naver 開発者 : ひょんなことから合流することになりましたが、こうした性能面に特化した内容で作ってみれば、見てくださる方々にとても役立つのではないかと思いまして。

😄 Hong : おお、こんな至らぬ場所に貴いお方が…。私もNATSは聞いたことはありますが、使った経験はないので、引っ張っていただけるなら一生懸命作ってみます。

😄 Naver 開発者 : ㅋㅋㅋㅋ むしろ良い機会をくださってありがとうございます ㅋㅋㅋㅋ

😁 Toss 開発者 : 最近忙しくて… 私もいつかは新しく作りたいと思ってるんだけど、NATSはすごく良いって聞いたよ。ルーティングも動的にできて簡単だし

😁 Kakao面接官(開発者) : X(NAVER開発者)は本当に開発が上手だね 僕が見たところフリーパスな感じだったから(笑) こうして合流することになって嬉しいよ

分散アーキテクチャにおけるサービス間通信は、どのように実装されていますか?? ⚡

数多くのサービスがデータを中心に繋がる環境において、私たちは単なるCRUDを超え、イベント駆動型の動的なアーキテクチャを構築し、サービス間の疎結合を実現しなければなりません。そのたびに悩むことになります。多くの方がこのような悩みをお持ちでしょう。パフォーマンスはどう担保するのか?動的通信とAuto Scalingはどう考慮すべきか?Consumer Lag現象はどう管理するのか?Dead Letter Queuesとは一体何なのか?

その答えは、まさにこの講義にあります。複数のサービスをSubject(サブジェクト)を基準に接続する方法!それによって超低遅延のリアルタイム通信を実装する方法、HA(高可用性)の観点とQueue Groupを活用したConsumer Lag(コンシューマーラグ)を防止する方法など、パフォーマンスに高度に特化したこの講義を通じて、皆さんのMSAアーキテクチャにおけるサービスの安定性と最適化を実現できるよう準備しました。

単に理論だけを扱う講義ではありません。実際の多様なソースコードを通じて、NATSというプラットフォームを直接使用し、実装する方法を学習する時間を持っていただければと思います。🚀

なぜNATSプラットフォームなのか

NATSは超低遅延・高性能を提供するメッセージングプラットフォームです。

Single Platformという特徴を通じて、Streaming, Key-Value, Object store, PubSubを提供しており、Microservicesという特徴により、分散環境で簡単かつ迅速に適用可能です。つまり、分散型でゼロトラストセキュリティ(zerotrust security)という特徴を持っています。さらに、Multi-cloud to Edgeという特徴も含まれており、物理的な位置に関係なく、すべてのアプリケーションとデータをオンプレミスの形で提供を受けることができます。, tất cả các ứng dụng và dữ liệu có thể được cung cấp dưới dạng on-premise bất kể vị trí vật lý. feature, all applications and data can be provided in an on-premises format regardless of physical location.

NATSの公式ドキュメントでは、自らをこのように紹介しています。

NATSは、クラウドネイティブアプリケーション、IoTメッセージング、およびマイクロサービスアーキテクチャのための、シンプルで安全かつ高性能なオープンソースデータレイヤーです。これらすべてが、デプロイと管理が容易な単一のバイナリで提供されます。外部依存関係はなく、配置して他のNATSサーバーを指す設定ファイルを追加するだけで準備完了です。実際、NATSをアプリケーションに組み込むことさえ可能です。

( NATSは、クラウドネイティブアプリケーション、IoTメッセージング、およびマイクロサービスアーキテクチャのための、シンプルで安全かつ高性能なオープンソースデータレイヤーです。多様な機能を提供していますが、すべての機能がデプロイと管理の容易な単一のバイナリ形式で提供されます。そのため、当然ながら外部依存関係なしに、シンプルなバイナリをデプロイし、他のNATSサーバーを指すように設定するだけですぐに使用可能です。また、NATSをアプリケーション内部に埋め込み形式で含めることも可能です。すべての機能がデプロイと管理の容易な単一のバイナリとして提供されます。)

現代的なアーキテクチャでは、サービス間で数多くの通信が発生する構造になっています。このような構造において、単一のバイナリ、依存関係の排除、クラウドネイティブ、それによる超低遅延と高性能なアプリケーションであるNATSを学習することは、推奨ではなく必須として扱われる技術となるでしょう。

この時間を通じて、ぜひNATSの活用法を学習し、他とは差別化された技術スタックを持つ開発者へと成長されることをお勧めします。🚀

この講義の特徴

📌 現役のネイバー開発者が実務で使用する分散メッセージングプロトコルの講義

  • NAVERで開発者として勤務している現職の開発者が参加して構成された講義です。単にMSAとは何かを学ぶのではなく、NATSという超高性能メッセージングサービスを一緒に作成しながら学習することができます。これを通じて、実務中心に幅広く学べる内容で準備しました。

📌 講義の要約、ソースコード、および多様なメッセージルーティングパターン

  • すべての講義では、実際のダイアグラムを提供したり、実習過程を幅広くお見せしたりします。単に真似して入力するのではなく、実際に動作する過程と適用できるパターンをお教えします。


📌 ジュニアが知れば「できるジュニア」、シニアが知れば「有能なシニア」。そのための分散メッセージングプロトコルサービス

  • CRUDだけを知っていますか??分散アーキテクチャでは、CRUDではなくEDAベースの拡張性のある通信をサポートします。そのために代表的に導入可能なNATS..!! インフランで唯一無二の内容です。

このような方におすすめです 👨‍🏫

🎯 分散メッセージングサービスはKafkaしか聞いたことがない初・中級開発者 mới chỉ nghe nói đến Kafka về dịch vụ nhắn tin phân tán who have only heard of Kafka when it comes to distributed messaging services

  • 分散メッセージングサービスは非常に多岐にわたります。Kafkaのようなメッセージングパイプラインも存在しますが、まさにMSAアーキテクチャにおいてパフォーマンスに焦点を当てたNATSを一度学んでみることをおすすめします。

🎯 メッセージングサービスを全く知らず、学びたいと思っている開発者 dù chưa biết gì về dịch vụ nhắn tin (messaging service) because they don't know anything about messaging services

  • 分散メッセージングサービスについて全く知りませんという方に、この講義は最適です。サーバー開発者として現代的なアーキテクチャを学習するために、この講義を通じてサービス間の疎結合について学んでみることをおすすめします。

🎯 NATSというプラットフォームのエコシステムが気になるシニア開発者

  • ある程度開発をされている方でも、NATSは初めて聞くという方が多いです。それだけ他の人が知らない新しい技術を習得できるため、おすすめです。


🎯 ゲームサーバー、リアルタイム通信、チャットアプリケーションに興味がある バックエンド就活生・ジュニア開発者 đang quan tâm đến game server, truyền thông thời gian thực và ứng dụng trò chuyện

  • NATSは超低遅延と圧倒的なパフォーマンスにより、サービス間通信に最も適した形態を持っています。マイクロ秒レベルの低遅延通信を通じた高性能サーバーに興味がある方に、ぜひおすすめします。


この講義を準備されたネイバー開発者の方の経歴 🤭


10年目のバックエンドサーバー開発者として、ネイバー(NAVER)で勤務しているAnde(略称)と申します。

私が知っている様々な技術やスタックを他の方々と共有し、議論したいと思い、このように講義を作ることになりました。私のノウハウを他の方々が習得し、私と同じような失敗をしないでほしいと願っています。

知人の推薦(カカオの面接官)でこのように合流することになり、Hongさんの主導のもと、一緒に撮影を行うことになりました。できるだけ多くの内容を盛り込めるよう努めましたので、たくさんの関心をお願いいたします。また、質問も気軽にお願いします。私が可能な限り確認して回答するようにいたします。ありがとうございます。

[現] NAVER サーバー(本社) 開発者

[前] 新世界グループ所属 バックエンドエンジニア

[前] ヘルスケアスタートアップ サーバー開発者

[前] ソウル4年制大学 コンピュータ工学専攻

注意事項

実習環境

  • IDE

    • Visual Studio Code

  • OS

    • Apple M3 Air

皆さんのキャリアを準備していくためのオープンチャットルームを運営しています。たくさんの関心をお願いします!

こんな方に
おすすめです

学習対象は
誰でしょう?

  • REST通信とCRUD構造だけではサービスの拡張に限界を感じているバックエンド開発者

  • Kafkaが負担でメッセージングの導入を先送りにし続けている開発者

  • イベント駆動型アーキテクチャを採用すべきだとは分かっているが、どこから始めればいいのか分からない就活生

  • Consumer Lag、遅延、ボトルネック問題を構造的に解決できず、もどかしさを感じている実務開発者

  • 超低遅延・リアルタイム通信が必要なサービス構造を適切に設計した経験がない開発者

こんにちは
Hongです。

7,492

受講生

461

受講レビュー

142

回答

4.7

講座評価

25

講座

自己紹介

家でだらだら過ごしていたところ、開発に興味を持ち始めて勉強をスタートし、現在は板橋(パンギョ)でプラットフォームサーバーの開発を担当しています。私自身が勉強してきた方法や、実務で直面しうる様々な問題点とその解決策を皆さんに提供したいと考え、知識共有者としての活動を続けています。

 

講義は私一人の知識だけで作られるものではありません。すべての講義には、共に作り上げてくださる方々がいます。

 

知識共有者の経歴

[前] サンドボックスIP関連のブロックチェーン開発者

[前] メタバースバックエンド開発者

[] 板橋(パンギョ)でベテランになりつつあるサーバー開発者

 

インタビュー履歴

その他のお問い合わせ

  • unduck2022@gmail.com

もっと見る

カリキュラム

全体

26件 ∙ (5時間 35分)

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

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

受講レビュー

全体

10件

5.0

10件の受講レビュー

  • gsu002845933님의 프로필 이미지
    gsu002845933

    受講レビュー 7

    平均評価 5.0

    5

    88% 受講後に作成

    インフラーンで一番好きな講師の方... 新しい講義が出るたびに毎回すぐに決済して見て参考にしていましたが... おかげで最近就職にも成功しました ㅠㅠㅠ 本当にありがとうございます。講師の方にはとても助けていただきました。 内容自体もとても有益で、就活生としては全く見ることのできない観点を見られるようにしてくださっているようです ㅠㅠ 本当にありがとうございます。

    • jhong
      知識共有者

      わあ... リルポイさん、本当におめでとうございます。リルポイさんの就職準備に私がお役に立てたことが本当に光栄です...!! これから良いことばかりありますように。 これからも就活生の方でも、あるいはシニア開発者でも経験したことのないテーマを扱えるよう努力します。 良い評価をありがとうございます。良い一日をお過ごしください!!

  • whilter088338님의 프로필 이미지
    whilter088338

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    内容も直感的で良かったですし、特に最後に他のMSQサービスとどのような点が違うのか、いつ使うのが良いのかを指摘してくださった部分が良かったです。

    • jhong
      知識共有者

      こんにちは、チョンダンジ様。素敵なレビューを残していただきありがとうございます。これからもより有益な講義を提供できるよう努めます。 良い一日をお過ごしください!

  • and3839455877님의 프로필 이미지
    and3839455877

    受講レビュー 3

    平均評価 5.0

    5

    92% 受講後に作成

    この講義を作ったNaverで開発しているAndeと申します!! NATS... 皆さん馴染みがないかもしれませんが、本当にとても良いプラットフォームで、活用度が非常に高い構造です。 それだけ私も愛用している方で、実務でも重点的に使用しています。 できる限り私が経験して知っている部分についてお伝えできるよう努力しましたので、どうか楽しくご覧いただき、たくさんのフィードバックをお願いします。 良い一日をお過ごしください!!

    • jhong
      知識共有者

      wwwこれからもっと面白い講義を作り続けていきましょう!!ファイティン!!

  • miaaade9585868님의 프로필 이미지
    miaaade9585868

    受講レビュー 8

    平均評価 5.0

    5

    92% 受講後に作成

    他の講義も有益に見ましたが、この講義もとても有益に見させていただきました。これからも良い講義を作り続けてください ㅠㅠ 決済は私がします... 講義のクオリティもどんどん上がっていて(もちろん今もとても良いです...!!)お金が全く惜しくない講義ばかり作ってくださっているようです... ㅠㅠ この金額でこのようなテーマを扱ってくださることがとても感謝しています。

    • jhong
      知識共有者

      こんにちは、エイミーさん、レビューを残してくださりありがとうございます!!本当にとても励みになるレビューだと思います ㅠㅠ 今後もより多くの方々が多様な観点から視野を広げられる講義を作っていきます。 良い一日をお過ごしください!!

  • gjsu540607534님의 프로필 이미지
    gjsu540607534

    受講レビュー 6

    平均評価 5.0

    5

    96% 受講後に作成

    本当にこのNATSについて何も知らなくても全てを教えてくれる講義だと思います。説明もとても上手で、このプラットフォームがなぜ有用なのか、そしてどのように使用すべきなのか、実力のある開発者の方が隣で教えてくれているようです... とても良い講義でした。ありがとうございます。

    • jhong
      知識共有者

      こんにちは、02年生まれの開発者様!!良い評価を残していただきありがとうございます。できる限り..実力のある方が隣でペアコーディングするように、多くの観点と知識をお伝えしようと努力しました。 ありがとうございます!

Hongの他の講座

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

似ている講座

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

期間限定セール、あと1日日で終了

¥57,200

24%

¥9,759