inflearn logo
知識共有
inflearn logo

堅牢な決枈システムの構築

実甚的な決枈システム構築講座では、コヌドを孊びながら、実際のシステムの実装に必芁な知識を扱いたす。

難易床 初玚

受講期間 無制限

backend
backend
Spring
Spring
DBMS/RDBMS
DBMS/RDBMS
payments
payments
Spring Boot
Spring Boot
backend
backend
Spring
Spring
DBMS/RDBMS
DBMS/RDBMS
payments
payments
Spring Boot
Spring Boot

孊習した受講者のレビュヌ

4.1

5.0

강프로귞래뚞

62% 受講埌に䜜成

恥ずかしいがキャリア職だ 以前の䌚瀟で配信アプリ仲介サヌビスを担圓し、泚文、決枈サヌビスに関するドメむン知識があったため、この講矩を簡単に聞くこずができた。 しかし、そうではありたせん..非垞に難しい..初玚レベルではありたせん.. 以前に圚職しおいた䌚瀟泚文システムが面癜いほどだ。 確かに技術的に䞊䜍バヌゞョンの決枈サヌビスを孊ぶ気分だ。 以䞋のレビュヌのようにアヒョンコトリン、リアクティブ、ヘキサゎナルアヌキテクチャ、カフカの知識が基本ベヌスで必芁であり、Java、SpringBoot MVC皋床するこずができるレベルなら、明らかにコヌドに埓っお打぀こずに粟神なく忙しいかもしれない だが、この講矩は明らかに決枈サヌビスに぀いお力量を育おるには、きちんず理解するたで芋続けなければならないず思う。ずおも重芁だず思いたす。 この講矩は、完講埌に時間的に䜙裕があれば、もずもず知っおいたjava、Spring MVCパタヌンでリファクタリングしながら、再びきちんず勉匷しお必ず知識を習埗しなければならない。 ロヌルでそのチャレンゞャヌに䌚っおメンタルを打たれた感じだ 勉匷をもっず頑匵らなければならないずいう動機付けができる

5.0

늬나

90% 受講埌に䜜成

頑䞈な決枈サヌビスを通じお良い知識を埗るこずができおずおも良かったです 個人的には、決枈サヌビスはデヌタの䞀貫性が非垞に重芁な郚分ですが、欠けおいないようにいく぀かの技術を習埗するこずができおずおも良かったです。 残念ながら、java蚀語にしお欲しいず思いたす。重点なのに spring webflux は導入したこずに぀いお倧倉な郚分がありたした。 spring webflux を知らない孊生は、アクセスが難しくなかったかず思いたす。

5.0

읎재혁

100% 受講埌に䜜成

少し早くお぀いおいくのが難しいですが、良い講矩だず思いたす。

受講埌に埗られるこず

  • 信頌性を考慮した決枈システム蚭蚈

  • 決枈システムの基本原理ず構成芁玠

  • トランザクション凊理ず同時性制埡

  • 支払いプロセスの理解

💲 "Talk is cheap. Show you the code."

この講矩は実甚的なアプロヌチをずり、次のように重芁な抂念を簡単に理解できるように構成されおいたす。

  • 決枈システムの蚭蚈

  • お支払い承認機胜の実装ず゚ラヌ凊理

  • Apache Kafkaを掻甚した決枈メッセヌゞシステムの実装

  • Optimistic Lockingによる同時実行制埡

  • Dead Letter Queueによる゚ラヌ管理方法

  • Kafkaトランザクションによるメッセヌゞ凊理ず配信の保蚌

  • Transactional Outbox Patternを䜿甚した支払い承認メッセヌゞの発行

  • 確実にカフカを䜿甚する方法

  • Bulk Head Patternず䞊列凊理を掻甚した決枈埩旧サヌビス

  • Double-Entry Ledger技術を䜿甚したLedger Serviceの構築


このレッスンは、基本的なプログラミング知識を持぀バック゚ンド開発者を察象ずしおおり、決枈システムの重芁な機胜を最初から最埌たで理解しお構築するための実甚的な胜力を提䟛したす。講矩の目暙は、理論的知識の䌝達ではなく、実際の䞖界の問題解決ずプロゞェクト適甚胜力の向䞊にありたす。したがっお、講矩を修了した埌は、独自の決枈システムを蚭蚈し、実装するだけでなく、既存システムの信頌性ず性胜を改善できる実力を備えるこずになりたす。

💡信頌性の高い決枈システムの基瀎から本番たで完璧なガむド

  • お支払いシステムの蚭蚈ず実装の基瀎から信頌できるメッセヌゞ凊理技術たで孊びたす。

  • Kafka、りォレットサヌビス、䞊行性制埡など、決枈゜リュヌションに䞍可欠な戊略を実践に適甚する方法を孊びたす。

📚こんな内容を孊ぶ

1.決枈システムの蚭蚈

決枈システムの定矩ず重芁な芁件を明確にし、高氎準の芳点からシステム党䜓を眺めたす。開発する決枈システムの構造を蚭蚈する過皋で、デヌタベヌス遞択、通信スタむル、メッセヌゞ配信の信頌性ず凊理保蚌方法などを深く取り䞊げたす。これにより、孊習者は決枈システムの内郚動䜜原理を理解し、実際の実装で考慮すべきさたざたな技術的決定に぀いおの掞察を埗るこずができたす。

2. お支払い承認機胜の実装ず゚ラヌ凊理

Toss Payments連携による決枈承認機胜の実装プロセスを実践したす。このレッスンでは、決枈プロセスで発生する可胜性のある障害を克服するために、再詊行メカニズムであるRetryを実装する方法を孊びたす。たた、支払いプロセス䞭に発生する可胜性のあるさたざたな゚ラヌタむプを識別し、それを凊理する゚ラヌ凊理戊略に぀いおも説明したす。

3. お支払い埩旧サヌビス

支払い回埩サヌビスのレッスンでは、未凊理たたは未知の䟋倖で倱敗した支払いむベントを回埩するメカニズムに焊点を圓おたす。このレッスンでは、システムの信頌性を向䞊させるためにBulk Headパタヌンを適甚する方法を孊びたす。たた、䞊列凊理技術を掻甚しお決枈システムの埩旧機胜性胜を向䞊させる戊略に぀いおも取り䞊げる。

4. 決枈承認メッセヌゞの発行

お支払いの承認に成功したら、Apache Kafkaを掻甚しおむベントメッセヌゞを発行する方法を重点的に取り䞊げたす。このレッスンでは、むベントメッセヌゞが無条件に発行されるこずを保蚌するTransactional Outbox Patternの適甚方法を孊びたす。これにより、決枈システムず他のシステム間の䞀貫性ず信頌性の高いデヌタ通信を実珟するための実甚的な技術ず戊略を習埗できたす。

受講前の泚意

緎習環境

  • オペレヌティングシステムずバヌゞョンOSWindows、macOS、LinuxなどのすべおのOSが利甚可胜です。

  • 䜿甚ツヌル: Intellij, Datagrip, Kotlin, Docker, Toss App, Git, Confluent Kafka Cloud

  • PC仕様むンタヌネット接続が可胜な基本仕様のPC


孊習資料

  • 提䟛する孊習資料の圢匏: Notion

  • 分量ず容量各セクションで孊習資料を提䟛する

遞手の知識ず泚意事項

  • 本講矩では、Alex XuのSystems Design Interview: An Insider's Guide: Volume 2のPayment System蚭蚈の理論をより応甚し、実際の事䟋に適甚しお独創的なカリキュラムを開発したした。

  • Kotlin、Spring Webflux、Spring Data R2DBC、Spring Data JPA、MySQL、Apache Kafkaなどの技術を掻甚したす。これらの技術に関する事前の知識がなくおも、講矩の理解に問題はありたせん。


こんな方に
おすすめです

孊習察象は
誰でしょう

  • 支払いシステムに぀いお知りたいバック゚ンド開発者

  • 実戊プロゞェクトをしたい孊生

前提知識、
必芁でしょうか

  • Kotlin

  • Spring Webflux

  • Spring Data Jpa

  • Spring Data R2DBC

  • MySQL

  • Apache Kafka

こんにちは
yjm9505168574です。

1,016

受講生

65

受講レビュヌ

38

回答

4.2

講座評䟡

3

講座

こんにちは。

私は開発者であり教育者ずしお、信頌できる講矩を䜜るよう努めおいたす。

講矩を䜜る際は、必芁な知識や技術を無駄なく䌝える、情報密床の高いコンテンツを提䟛するこずを心がけおいたす。

自分が関心のある分野、本圓に意味があるず信じおいる領域にのみ講座を䜜り、誰にでも䜜れるような講座は䜜りたせん。

加えおCareerlyでも圹立぀蚘事を曞いおいたす。

- (元) カカオ゚ンタヌプラむズ ゜フトりェア゚ンゞニア

- (元) カカオ Ground X ゜フトりェア゚ンゞニア

もっず芋る

カリキュラム

党䜓

21件 ∙ (7時間 8分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

32ä»¶

4.1

32件の受講レビュヌ

  • kms920106님의 프로필 읎믞지
    kms920106

    受講レビュヌ 24

    ∙

    平均評䟡 4.6

    5

    62% 受講埌に䜜成

    恥ずかしいがキャリア職だ 以前の䌚瀟で配信アプリ仲介サヌビスを担圓し、泚文、決枈サヌビスに関するドメむン知識があったため、この講矩を簡単に聞くこずができた。 しかし、そうではありたせん..非垞に難しい..初玚レベルではありたせん.. 以前に圚職しおいた䌚瀟泚文システムが面癜いほどだ。 確かに技術的に䞊䜍バヌゞョンの決枈サヌビスを孊ぶ気分だ。 以䞋のレビュヌのようにアヒョンコトリン、リアクティブ、ヘキサゎナルアヌキテクチャ、カフカの知識が基本ベヌスで必芁であり、Java、SpringBoot MVC皋床するこずができるレベルなら、明らかにコヌドに埓っお打぀こずに粟神なく忙しいかもしれない だが、この講矩は明らかに決枈サヌビスに぀いお力量を育おるには、きちんず理解するたで芋続けなければならないず思う。ずおも重芁だず思いたす。 この講矩は、完講埌に時間的に䜙裕があれば、もずもず知っおいたjava、Spring MVCパタヌンでリファクタリングしながら、再びきちんず勉匷しお必ず知識を習埗しなければならない。 ロヌルでそのチャレンゞャヌに䌚っおメンタルを打たれた感じだ 勉匷をもっず頑匵らなければならないずいう動機付けができる

    • yjm9505168574
      知識共有者

      良いレビュヌありがずうございたすおなじみのニックネヌムですねㅎ もう少し講矩に埓いやすく、栞事故の日のアヌキテクチャ、コトリン、リアクティブに぀いおも簡単に説明を入れなければならなかったかず思いたす。入れたせんでした。それでも難しいコトリン文法を曞いたりしなかったので倧きく難しくはないず思いたす 次のレッスンでは、より芪切で簡単に説明しようずたくさん努力しおみたしょう。良いフィヌドバックありがずうございたす~~

  • syh8088님의 프로필 읎믞지
    syh8088

    受講レビュヌ 7

    ∙

    平均評䟡 5.0

    5

    90% 受講埌に䜜成

    頑䞈な決枈サヌビスを通じお良い知識を埗るこずができおずおも良かったです 個人的には、決枈サヌビスはデヌタの䞀貫性が非垞に重芁な郚分ですが、欠けおいないようにいく぀かの技術を習埗するこずができおずおも良かったです。 残念ながら、java蚀語にしお欲しいず思いたす。重点なのに spring webflux は導入したこずに぀いお倧倉な郚分がありたした。 spring webflux を知らない孊生は、アクセスが難しくなかったかず思いたす。

    • rufruf720023141님의 프로필 읎믞지
      rufruf720023141

      受講レビュヌ 5

      ∙

      平均評䟡 4.2

      1

      19% 受講埌に䜜成

      講矩のクオリティが満足できたせん。

      • blutics님의 프로필 읎믞지
        blutics

        受講レビュヌ 16

        ∙

        平均評䟡 4.2

        3

        71% 受講埌に䜜成

        単玔再䜿甚再配列しなかったず蚀いたしたが、double-entry ledgerに぀いおも基本的なledger/walletの抂念もきちんず説明しおおかないこずを芋るず、ちょっず惜しいずいう感じが倚いですね。 いく぀かのモロペむメントシステムでは少し倖れたテヌマのようですね。

        • yjm9505168574
          知識共有者

          なぜLedger Systemが出たのかなどに぀いお、より詳现な歎史を玹介しなければなりたせんでしたか Double Ledger ず Wallet システムに぀いお十分に重芁な郚分は説明したず思いたす。埌郚のLedgerずWalletの郚分は聞いたようには思えないような単玔な䞊べ替え/再利甚に぀いお蚀及されたのは玍埗できたせんね。実際の理論を実装するこずに぀いおも、いく぀かの悩みがあるのではないかず聞きたいです。

        • どのように実装されおいるかが重芁であるずいうこずを蚀ったのではありたせん。 私が蚀いたいのは、単にフィヌルドだけを芋おも、借方debitや糞creditそしおテヌブル名でも ledger ず垳簿ずいう抂念が䜿われ、ダブルスブギずいう名称の double entry ずいう抂念が䜿われたなら、この郚分の説明が必芁だずいう申し䞊げたした。 耇匏簿蚘をどの皋床理解し、この耇匏簿蚘を実装しおどのように安定しお決枈を远跡しお管理するかに぀いおの説明が必芁なのではないでしょうかこれはドメむンを理解し、そのドメむンの定矩ず芁件を特定するのではありたせんか これは、この決枈ずいうドメむンを正しく説明しおくれるのではないでしょうか この講矩では、おおよその決枈プロセスを安定的に運営するコヌドを提瀺し、これをカフカでどのようにむベントずしお管理し、この過皋でトレンゞェクションを管理する過皋を瀺しおいたす。 これは私が芋るには決枈ドメむンが州ではなく、カフカずトレンゞェクション管理がメむンであり、これらを単に決枈過皋で芋せおいるように芋えたす。 講垫が準備が足りなかったり、講矩の内容が誠実でなかったわけではありたせん。 ただ、決枈ドメむンに察する疑問を解くこずができるかず期埅しお10䞇りォンを決枈したが埗たこずがあたりないようで鋭く受講評を残したしたね。皲劻に2点を残したが、3点に倉曎しおおきたす。

      • xpdpfal5210님의 프로필 읎믞지
        xpdpfal5210

        受講レビュヌ 1

        ∙

        平均評䟡 4.0

        4

        19% 受講埌に䜜成

        本圓にテヌマもそうで、内容もコヌドも完璧な講矩なのに ヘキサゎナルアヌキテクチャなのがずおも残念です。これだけでなければ別点5点です... ヘキサゎ刃が必芁なアヌキテクチャなのかも実はよく分からないですね。 ㅠㅠむしろ決枈ロゞックをもっず理解するのは倧倉でした 決枈の講矩なので集䞭できたせんでした。これだけで、本圓に完璧です。講矩資料も本圓にすっきり敎理しおおいお理解しやすく、線集も気になったようでいいです。ヘキサゎナル.. これだけ陀けば100000点です...次の講矩が楜しみです

        yjm9505168574の他の講座

        知識共有者の他の講座を芋おみたしょう

        䌌おいる講座

        同じ分野の他の講座を芋おみたしょう

        新芏䌚員登録で25%OFF

        ï¿¥14,011

        25%

        ï¿¥18,681