モノリシックアプリケーションをマイクロサービスに分割している人々にとって、データベースを分解するという難問をどのように処理していますか。私が取り組んだ典型的なアプリケーションは、パフォーマンスと単純さの理由から、多くのデータベース統合を行っています。
論理的に異なる2つのテーブル(境界コンテキストがある場合)があり、そのデータの大容量に対して集約処理を行うことが多い場合、モノリスではオブジェクト指向を避け、代わりにデータベースの標準を使用します。統合されたビューをアプリ層に戻す前に、データベース上のデータを処理するJOIN機能。
データベースではなくAPIを介してデータを「結合」する必要があると思われるマイクロサービスに、そのようなデータを分割することをどのように正当化しますか。
私はSam NewmanのMicroservicesの本を読み、Monolithの分割に関する章で、「外部キーの関係の破壊」の例を挙げています。彼は、API全体での結合の実行が遅くなることを認めていますが、とにかくあなたのアプリケーションは十分に速いです、それが以前より遅いことが重要ですか?
これは少しグリブのようですか?人々の経験は何ですか?API結合を許容範囲内で実行するためにどのようなテクニックを使用しましたか?