docsとActionのRabbitMQを読んで、RabbitMQクラスターの作成は簡単に思えますが、既存のRabbitMQクラスターをアップグレードまたはパッチを適用するには、クラスター全体を再起動する必要があります。
クラスタリング、ショベル、フェデレーション、および負荷分散を組み合わせて、キューやメッセージを失うことなくローリングアップグレードを可能にする方法はありますか?
docsとActionのRabbitMQを読んで、RabbitMQクラスターの作成は簡単に思えますが、既存のRabbitMQクラスターをアップグレードまたはパッチを適用するには、クラスター全体を再起動する必要があります。
クラスタリング、ショベル、フェデレーション、および負荷分散を組み合わせて、キューやメッセージを失うことなくローリングアップグレードを可能にする方法はありますか?
回答:
RabbitMQのメジャーバージョンまたはマイナーバージョンから別のバージョン(3.0.xから3.1.x、または2.xxから3.xxへ)にアップグレードする場合、またはErlangをアップグレードする場合、アップグレードのためにクラスター全体を停止する必要があります(クラスターはこのような混合バージョンを実行できないためです)。これは、あるパッチバージョンから別のパッチバージョン(つまり、3.0.xから3.0.yへ)にアップグレードする場合には当てはまりません。これらのバージョンはクラスター内で混在させることができます(ただし、3.0.0は3.0.xシリーズの以降のバージョンと混在させることはできません)。
@terence私もあなたと同じ靴を履いていた。ここで好奇心の渇きを癒すことができると思います。PS私はまだ自分で試していません。