2017-10-29 7 views
-1

Javaを使用してプロキシサーバーを構築しています。このアプリケーションはドッキング・コンテナ(複数のインスタンス)にデプロイされています共有ノードの賢明なキュー

以下は私が作業している要件です。

  1. クライアントは、私のプロキシサーバ
  2. プロキシサーバにHTTPリクエストを送信することが宛先ノードサーバに受信順にこれらの要求を転送します。
  3. 宛先に到達できない場合、プロキシサーバーはこれらの要求を格納し、将来利用可能になると転送します。 (キー)ノード名 - - (値)到達可能性ステータス+リクエスト
  4. 同様に要求が失敗した場合、要求は「X」時間
私はノード賢いキュー注入(ハッシュ地図を実装

後に再試行されます受信した順にキューに入れます)。

上記のソリューションは、インスタンスが1つだけの場合にうまく機能します。しかし、私は複数のインスタンスがあるときにこれを解決する方法を知りたいですか?この問題を解決するために私が使用できる共有データ構造はありますか? ActiveMQ、Redis、Kafkaのようなもの(私は共有メモリ/処理に非常に新しい)です。

ご協力いただければ幸いです。

ありがとうございます。 Ajay

答えて

0

いくつかの実装のアイデアを得るために、Jettyに基づいたKafka用のオープンソースRESTプロキシがあります。

https://github.com/confluentinc/kafka-rest

カフカクラスタが書き込みのために高度に利用可能であり、メッセージの永続性のために利用可能な3つのカフカノードの最小値は、典型的に存在するため、このプロキシはメッセージ自体を格納しません。プロキシ内のkafkaクライアントは、クラスタが一時的に書き込み不可能になった場合に再試行するように設定できます。

+0

あなたのご意見ありがとうございます。試してみましょう –

関連する問題