node.jsプロジェクトをマイクロサービスアプローチに移行し始めており、データの共有方法がわかりません。ここでは一例であり、私は以下の有界コンテキストがあるとします。 マイクロサービス:限定されたコンテキスト間でデータが必要な場合のシナリオの処理方法
- アカウントを(のようなアップロードファイルを管理するために使用されますこの例では指定されたアカウントに関連付けられたプロファイルの写真、画像ギャラリーなど)
- 所与のユーザに関連する様々なフォーマットにビデオのアップロードとトランスコードを管理するためのビデオ()
、画像及びビデオが見えます縛られた口座に自然に依存すること内線またはマイクロサービス。私は、アカウントテーブルを画像データベースとビデオデータベースにコピーし、必要なアカウントデータのみを保存することができますが、アカウント情報が頻繁に更新されるため、一貫性の維持という面では悪夢のようです他のマイクロサービスにはこの同じ依存関係が必要です。私は3つのマイクロサービスをすべて同じデータベースを使用することができますが、それはそれぞれのマイクロサービスがそれ自身のデータベースに結びついているという勧告に違反します。
このシナリオを処理するために推奨されるアプローチは何ですか?私はまだ計画段階にあり、私はこれを正しい方法で確実にしたいと思っています。私はアカウントとして など、これは一貫性を維持するという点で悪夢のように思える私は画像と ビデオデータベースへの上のアカウントテーブルをコピーしてのみ必要とされているアカウントのデータを格納できることを前提としたが
* ...画像と動画はアカウントに自然な依存関係があるようです。* - これはあなたにとっては明白なようですが、なぜこれが当てはまるのかはわかりません。この依存関係の性質は何ですか? –
これらは両方とも最終的にそれらを作成したユーザーに属します。したがって、それらを作成したユーザーに外部キーを割り当てる必要があります。 – user1790300