従来のシステムの責任を徐々に引き継ぐために、新しいシステムが構築されました。両者は制作協力。
これを容易にするために、レプリケートされたドメイン オブジェクト モデルを共有します。両方とも、メモリ オブジェクト ストアで比較的プリミティブを使用します。レガシー システムは正規ストアであり、そのすべての変更は ESB を介して新しいシステムに複製されます。新しいシステムは一部のオブジェクトを変更する可能性があり、レガシー システムはそれをポーリングしてマスター データを更新します。
2 つのシステムは、コマンドを発行するために他方の API エンドポイントを呼び出すこともありますが、多くの場合、共有オブジェクトを変更することによって、そのようなコマンドを暗黙的に通信します。
トランザクションやバッチ更新の概念はありません。新しいシステムは、グローバル書き込みロックを使用して、すべての更新を処理し、メモリ内ストア内のオブジェクト参照を更新します。データセットの一括削除または挿入、または順次オブジェクト グラフの構築または削除により、新しいシステムのグローバル書き込みロックが占有される可能性があります。もろく、遅く、開発とテストが困難です。
従来のシステムは C++ で構築され、新しいシステムは Java で構築されました。これにより、オブジェクト変換レイヤーも追加されます。
安定性とパフォーマンスの向上を任されています。私はこれをデータベース レプリケーションの問題と見なしており、確立された文献やオープン ソース製品を利用したいと考えていますが、特徴付けに苦労しています。
ここで最も適切な標準トポロジはどれですか?