私はZMQを使ってパブ/サブアーキテクチャを設計しています。最大限の信頼性とスケーラビリティが必要であり、提供される可能性が失われてしまいます。ZMQパブ/サブ信頼性/スケーラブルデザイン
現時点では、ブローカーによってリンクされたパブリッシャーとサブスクライバーが設定されています。ブローカーは、パブリッシャーのフロントエンドとサブスクライバーのバックエンドを公開する簡単なフォワーダデバイスです。
ブローカがクラッシュしたり切断されたりすると、ケースを処理してスケーラビリティを向上させる必要があります。
私は複数のブローカーを追加することを考えました。パブリッシャーはメッセージを送信するためにブローカーにラウンドロビンし、サブスクライバーはこれらのブローカーをすべて購読します。
私は可能なブローカーのリストを取得する方法が必要でしたので、私は要求に応じてブローカーのリストを提供するネームサービスを書きました。パブリッシャーとサブスクライバーは、どのブローカーに接続するかをこのサービスに依頼します。
また、メインネームサービスが壊れた場合に、一種の信頼できるネームサービスを「怠惰な海賊」と書きました。
コードベースがサイズや複雑さが増していないので、間違っていると思っています。私はZMQによって提供される可能性のジャングルで迷っています。
ルータ/ディーラーベースのものはここで使用できますか?
アドバイスをいただければ幸いです!