2017-11-29 18 views
2

メッセージキューからイベントを読み取り、すべてのWebクライアントにリアルタイムで通知する通知サービスがあるとします。私はどのようにWebソケットの仕事を知っているが、私はそこにクライアントとAPIゲートウェイと通知サービスの間にどのようにWebソケットの接続が維持されている間にAPIゲートウェイがあるのか​​困惑しています。マイクロサービスアーキテクチャのWebソケット

助けてください!おかげ

編集: アーキテクチャ: enter image description here

+1

ブラウザからの着信webSocket接続がwebSocketサーバーに接続する必要があることがわかっていると思います。したがって、webSocketサーバー経由で接続された1つ以上のクライアントにメッセージを送信する場合は、webSocketサーバーに代わってそれを行うように依頼する必要があります。通知サービスが他のマイクロサービスである場合、webSocketサーバーにメッセージを送信して、必要な通知を送信する方法を知る必要があります。 – jfriend00

+1

APIゲートウェイという用語を標準的な用語であるかのように使いこなしており、それが何であるかを正確に知ることができます。そうではなく、私たちはそうではありません。あなたがそれをもっと助けたいなら、あなたのアーキテクチャーの仕組み、あなたが持っているプロセス、要求がどのようにさまざまなプロセスを通って流れるか、Webソケットが接続されているかなど、もっと詳しく説明しなければなりません。 – jfriend00

+0

ありがとう応答。しかし、私が参照しているAPIゲートウェイは、マイクロサービスアーキテクチャのコンテキスト内にあります。 http://microservices.io/patterns/apigateway.html –

答えて

0

あなたは概念を混在させることはできません。 APIゲートウェイは、クライアントからインフラストラクチャを隠しています。これは、 "フロントエンドのバックエンド"の意味で、多くのサービスのための単一のフロントエンドになることができます。また、認証など、他の多くのことを担当することもできます。

Webソケットサーバーは、APIゲートウェイと並行して配置できます。別のドメインまたは別のポート。 http://nchan.ioのようなWebソケットサーバーを使用しているとします。アプリケーションからのイベントは、メッセージブローカーを使用するか、使用するすべてのメッセージ統合パターンを通過します。消費者はこのイベントを受け取って、Nchanサーバーを通じて公開することができます。クライアント(たとえばブラウザ)はNchanサーバーに接続し、イベントについて通知を受けます。

+0

私の混乱は、クライアントへの通知はAPIゲートウェイを介して、または直接クライアントに起こります。私の理解によれば、最初はAPIゲートウェイ経由で接続が確立され、その後、すべての通信は通知サーバーとクライアント間で直接行われます。 –

+0

クライアントはAPIサービスの背後にサービスをリクエストしたい場合は、API Gatewayを通過します。クライアントはWeb Socket Serverと直接対話できます。最初にAPIゲートウェイを呼び出す必要はありません。 Web Socket Serverと通信する前にユーザーを認証する必要がありますか?現在の設定と試したことについてさらに情報が必要な場合があります。 – marein

関連する問題