강의

멘토링

커뮤니티

NEW
Programming

/

Web Development

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

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

難易度 初級

受講期間 無制限

  • Hong
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(ネイバー開発者)が開発本当に上手い 私が見た感じフリーパスレベルだからwwww こうして合流することになって嬉しいね

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

数多くのサービスがデータを中心に接続される環境で、私たちは単純なCRUDを超えてイベント駆動の動的なアーキテクチャを構成し、サービス間の疎結合を構成しなければなりません。その度に悩むことになりますよね。ほとんどの方がこんな悩みをお持ちでしょう。パフォーマンスはどうやって保証する?? 動的通信とAuto Scallingはどう考慮する?? 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という特徴も含め、物理的な場所に関係なくすべてのアプリケーションとデータをオンプレミス形態で提供を受けることができます。

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

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

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

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

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

この講義の特徴

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

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

📌 講義要約及びソースコード、そして多様なメッセージルーティングパターン

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


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

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

こんな方におすすめです 👨‍🏫

🎯 分散メッセージングサービスはKafkaしか聞いたことがない初・中級開発者

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

🎯 メッセージングサービスを全く知らず学びたい開発者

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

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

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


🎯 ゲームサーバー、リアルタイム通信、チャットアプリケーションに興味があるバックエンド就活生・ジュニア開発者

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


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


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

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

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

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

[前] 新世界グループ所属バックエンド開発者

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

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

参考事項

実習環境

  • IDE

    • Visual Studio Code

  • OS

    • Apple M3 Air

こんな方に
おすすめです

学習対象は
誰でしょう?

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

  • Kafkaが負担で、メッセージング導入をずっと先延ばしにしている開発者

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

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

  • 超低遅延・リアルタイム通信が必要なサービス構造をきちんと設計したことがない開発者

こんにちは
です。

5,966

受講生

391

受講レビュー

127

回答

4.7

講座評価

22

講座

自己紹介

家でゴロゴロしていた時に開発に興味を持ち、独学を始め、現在は板橋(パンギョ)でプラットフォームサーバーの開発を担当しています。私が学んできた方法や、実務で直面しうる様々な問題とその解決策を皆さんに提供したいという思いから、知識共有者としての活動を続けています。

 

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

知識共有者の経歴

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

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

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

NAVERで開発を担当しているAnde知識共有者の経歴 [前] サンドボックスIP関連ブロックチェーン開発者 [前] メタバース・バックエンド開発者 [現] パンギョ(板橋)で経験を積んでいるサーバー開発者

インタビュー履歴

その他のお問い合わせ

  • unduck2022@gmail.com

カリキュラム

全体

26件 ∙ (5時間 35分)

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

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

受講レビュー

全体

5件

5.0

5件の受講レビュー

  • and3839455877님의 프로필 이미지
    and3839455877

    受講レビュー 2

    平均評価 5.0

    5

    92% 受講後に作成

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

    • jhong
      知識共有者

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

  • miaaade9585868님의 프로필 이미지
    miaaade9585868

    受講レビュー 6

    平均評価 5.0

    5

    92% 受講後に作成

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

    • jhong
      知識共有者

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

  • gsu002845933님의 프로필 이미지
    gsu002845933

    受講レビュー 5

    平均評価 5.0

    5

    88% 受講後に作成

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

    • jhong
      知識共有者

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

  • gjsu540607534님의 프로필 이미지
    gjsu540607534

    受講レビュー 4

    平均評価 5.0

    5

    96% 受講後に作成

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

    • jhong
      知識共有者

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

  • daroguzo님의 프로필 이미지
    daroguzo

    受講レビュー 28

    平均評価 5.0

    5

    31% 受講後に作成

    ¥9,417

    Hongの他の講座

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

    似ている講座

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