イベント ソーシングと CQRS (コマンド クエリ責任分離) は、拡張性と保守性の高いアプリケーションを作成するための強力なアーキテクチャ パターンです。 ただし、特にドメイン駆動設計 (DDD) などのベスト プラクティスを遵守しながら、それらを効果的に実装することは困難な場合があります。 thefabric-io/eventsourcing
Go ライブラリは、合理化されたソリューションを提供します。
この記事では、このオープンソース ライブラリが Go でのイベント ソーシングをどのように簡素化するかを説明し、その主要な機能を強調し、クイック スタート ガイドを提供します。
イベント ソーシングを選択する理由
イベント ソーシングは、単なるデータ永続化戦略ではありません。 オブジェクトの現在の状態を保存する代わりに、すべての状態変化を時系列に並べられた一連のイベントとして記録します。このアプローチには、次のような大きな利点があります。
CQRS と組み合わせると、書き込み (コマンド) と読み取り (クエリ) の間で懸念事項が明確に分離され、より焦点が絞られた保守しやすいコードが得られます。
thefabric-io/eventsourcing
このライブラリは、DDD 原則に準拠しながら、Go イベント ソーシングの実装を簡素化します。集計の定義、イベントの管理、予測の維持に不可欠なコンポーネントを提供します。
コア機能:
はじめに
実際的なデモンストレーションについては、サンプル リポジトリ thefabric-io/eventsourcing.example
を参照してください。 このリポジトリは、ライブラリの機能を紹介する詳細な実装を提供します。
インストール:
次を使用してライブラリをインストールします:
<code class="language-bash">go get github.com/thefabric-io/eventsourcing</code>
チュートリアルの例:
サンプル リポジトリは、包括的なガイドを提供します。集約管理、イベント発行、処理をカバーし、プロジェクトの構造化、イベント処理、プロジェクション構築のベスト プラクティスを示します。
次のコマンドを使用してサンプルのクローンを作成し、実行します:
<code class="language-bash">git clone https://github.com/thefabric-io/eventsourcing.example.git cd eventsourcing.example go run main.go</code>
この例では次のことを示します。
リポジトリを参照してください
thefabric-io/eventsourcing.example
顧客の問い合わせを管理するCRMシステムを検討してください。 各変更はイベントとしてキャプチャされ、
を有効にしますデバッグのための履歴再構成。
コミュニティへの関与thefabric-io/eventsourcing
ここでリポジトリを見つけます:
ライブラリ:
thefabric-io/eventsourcing
thefabric-io/eventsourcing.example
プルリクエストを送信します。
以上がGolangでのイベントソーシングを簡素化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。