私は CRUD Web サービスを使用しており、データベースがダウンしたときにデータが失われないようにする方法を見つけようとしています。データベースがダウンした場合、「読み取り」を取得できないことは誰もが認識していますが、操作の特定のサブセットについては、データを失わないようにしたいと考えています。
これは、0MQ、RabbitMQ、または Microsoft MQ サービスの 1 つなどのサービスによってカバーされるものであるという印象を受けました。数日間読んで調査した結果、MQ サービスで話しているメッセージにデータベース操作が含まれているかどうかさえ確信が持てませんでした。しかし、期待できる限り多くの hello world をキューに入れることができると 100% 確信しています。
データベースに保護層を追加するためにメッセージ キューを使用できる場合は、Rabbit に傾倒します (クラッシュしても持続するように見えるため) が、ターゲットは Microsoft SQL サーバー データベースであるため、おそらくそのソリューションの 1 つです (そのようなSQL Service Broker または MSMQ として) がより適切です。
私がまだ確信が持てない本当の基本的な問題は、私が正しいデッキでプレイしているかどうかです (いわば)。
データベースがダウンしても機能し続ける高可用性 Web サービスが必要な場合、Web サービスとデータベースの「間に」Rabbit MQ インスタンスを配置することは理にかなっていますか? おそらく、チェーンの正しいリンクは、RabbitMQ にメッセージを Web サーバーに送信させることでしょうか?
または、これを達成するための他の解決策はありますか?現時点では、データベースが停止したり何かが発生した場合にウェブログをロールアップする方法を見つけることに関して、多くの失われたアイデアがあります.するつもりです。
メッセージ キューは適切なソリューションですか?