システムのデータが変更されると、すべての変更を少なくとも 4 つの異なるコンシューマー (1 秒あたり約 3000 メッセージ) に公開するので、メッセージ ブローカーを使用したいと考えています。
コンシューマのほとんどは、データベース テーブルを変更して更新する責任があります。
(DBは異なります-カウチ、mysqlなど、独自のレプリケーションメカニズムを使用したり、dbトリガーを使用したりするなどのソリューションは不可能です)質問
メッセージブローカーを使用して DB 間でデータを複製した経験のある人はいますか?
それは良い習慣ですか?失敗した場合はどうすればよいですか?
たとえば、RabbitMQ を使用して、クライアントがキューから 10,000 件のメッセージを削除し、ACK を送信し、それらを処理する前に毎回例外をスローしたとします。今、それらは失われています。キューに戻る方法はありますか?(それらを再キューイングすると、順序が台無しになります)。
rabbitMQ を使用することは良い習慣ですか? Kafka のようにキューに戻る機能は、シナリオを失敗させるために重要ではありませんか?
ありがとう。