マイクロサービスAとBがあります。Bには独自のデータベースがあります。しかし、Bは水平にスケーリングされなければならないので、私たちはBの3つのインスタンスを持つことになります。データベースはどうなりますか?それに応じて拡大縮小しますか?3 Bインスタンスの同じ(集中化された)データベースのままですか、それは分散データベースになりますか?マイクロサービス:データベースとマイクロサービスインスタンス
5
A
答えて
3
複数のサービスインスタンスで1つのデータベースを使用することは、データの分割を使用しているときに問題ありません。
0
答えは、どの種類のデータを3つのBインスタンスから共有するかに基づいています。いくつかの場面:
Bはただ単に異なるDBインスタンスからデータを読み込み、DBが複製されたDBがレプリケート・方法論を使用することができ、何も書き込まずにデータを読み、3つのBのインスタンスです。
Bインスタンスは、他のBインスタンスの中断なしでデータを読み書きできます。つまり、すべてのBインスタンスが指定されたデータを持ち、インスタンス間でデータの共有ができないため、同じスキーマを持つ3つのデータベース;
Bインスタンスはほとんどのデータを共有する必要があり、すべてのインスタンスでデータをDBに書き戻すことができます。したがって、Bインスタンスは、1つのDBといくつかのDBロックを使用して、インスタンス間の競合を回避する必要があります。他のいくつかの異なる状況で
、などのRedis、BのインスタンスのRabbitMQのようなキューサービスのようなメモリDBを使用して問題を解決するために、他の多くのアプローチがあるでしょう。同じサービスのpattern database per serviceにクリス・リチャードソンによって説明したように
0
、
インスタンスが同じデータベースにBの
関連する問題
- 1. マイクロサービスとデータベース
- 2. マイクロサービス共有データベース
- 3. マイクロサービスのデータベース設計
- 4. マイクロサービス用のデータベース接続プール戦略
- 5. マイクロサービス:RESTとメッセージング
- 6. GraphQLとマイクロサービス
- 7. ドッカーとマイクロサービス
- 8. マイクロサービスのタイムアウトとトランザクション
- 9. マイクロサービスごとに専用のCronジョブを持つGAEマイクロサービス
- 10. マイクロサービスとしてのユーザー
- 11. DBテーブルごとのマイクロサービス?
- 12. マイクロサービスの分割と命名
- 13. サーバレスアーキテクチャとマイクロサービスの関係
- 14. マイクロサービスとAPIの接続
- 15. マイクロサービス、amqpとサービスレジストリ/発見
- 16. データ型ごとのマイクロサービス
- 17. NodeJSマイクロサービス
- 18. NGINX:proxy_passマイクロサービス
- 19. データベース象牙質マイクロサービス(POST)を設計する方法
- 20. マイクロサービス - APIゲートウェイレイヤ
- 21. マイクロサービス/ RESTフォールトトレラントコミュニケーション
- 22. マイクロサービス構成サーバー
- 23. マイクロサービス通信
- 24. graphqlのマイクロサービス
- 25. ホテル通信マイクロサービス
- 26. マイクロサービスのアプリケーションマネージャ
- 27. パフォーマンステストバッチベースのJavaマイクロサービス
- 28. ドッキングステーションのマイクロサービス - アーキテクチャ
- 29. マイクロサービスAPIゲートウェイとしてNginxを使用
- 30. REST APIとメッセージングを使用するマイクロサービス
3インスタンスを共有する必要が依然として1つの論理サービスです。したがって、データベースは1つだけ必要です。 –
@TomRedfernあなたの答えをありがとう;) あなたはまた、データベースを拡大する必要がある状況にいたことがありますか?もしそうなら、それをどうやって扱いましたか? – nobitta
可能な複製http://stackoverflow.com/questions/33399988 – KGhatak