RabbitMQ はデフォルトでクラスタリングをサポートしていますが、キューは複製されず、キューが作成されたノードにバインドされます。アクティブなサーバーがダウンするのを待っているだけのサーバー全体を予約するのはリソースの浪費のように思えるため、彼らが文書化した DRBD ソリューション以外に、RabbitMQ を高可用性にする方法を探しています。
キューが 2 つある設定を考えています。メッセージがパブリッシュされたら、RabbitMQ クラスターがメッセージを 2 つのキューのいずれかに送信するようにします。パブリッシャーがダウンしているキューにパブリッシュしようとするとエラーが発生し、パブリッシャーが他のキューで再試行できることはわかっていますが、これをクラスター レベルで自動的に実行できるかどうか疑問に思っています。それを処理するためにクライアント コードを記述する必要はありません。これはできますか?