2

春にアプリケーションがあり、DB および jms キューとやり取りするサービスはほとんどありません。2 フェーズ コミットを処理するために、atomikos を使用しました。

私が持っている質問は、設計の観点から、サービス実行の最後にすべてのキュー操作を行う場合、キューにメッセージを入れた後のエラーの可能性が非常に少なくなる場合、それでも 2 フェーズ コミットを使用する必要がありますか?

私は以前のプロジェクトで 2 台の PC を使用しており、サービス ロジックが上記のように適切に調整されていれば、データが破損する可能性は非常に低いと常に感じています。

もちろん、失敗するケースもあります (ネットワークまたはデータベースの障害のために txn をコミットできない場合、キューは処理されます) - いずれにせよ対処しなければならない大きな問題です。

ご意見をお聞かせください。サービス ロジックを整理することで、上記のような 1 つの DB と 1 つの jms キューのみが関係する単純なシナリオで JTA を回避できないでしょうか?

ありがとう、ライヴ。 

4

0 に答える 0