システムAがシステムBにデータを送信する2つのシステムがあります。各システムが互いに独立して実行でき、もう一方がダウンしてもどちらも爆発しないことが要件です。問題は、デカップリング要件を満たしながら、システムAがシステムBと通信するための最良の方法は何かということです。
システムBには現在、dbテーブルのデータをポーリングし、挿入された新しい行を処理するプロセスがあります。
提案されている設計の1つは、システムAがシステムbのdbテーブルにデータを挿入し、システムBに既存のプロセスで新しい行を処理させることです。質問は、このソリューションが2つのシステムを分離する要件を満たしているかどうかです。データベースはシステムBの一部と見なされ、システムAが使用できなくなり、システムAが爆発する可能性がありますか?
もう1つの解決策は、システムAがデータをMQキューに入れ、MQから読み取り、システムBのデータベースに挿入するプロセスを用意することです。しかし、これは単なる余分なオーバーヘッドですか?最終的に、MQキューはdbテーブルよりもフォールトトレラントですか?