2017-12-28 35 views
1

私はDockerに2つのマイクロサービスを持っていて、他のものと接続したいと思っています。 2つ(そして将来のアプリ)はSpringブートのAPI Restです。私は情報、チュートリアルを探しています...しかし、私は何も見ません。私のアイデアには、他のマイクロサービスと接続できるメインアプリケーションがあります。残りはAPI Restです。その後、このメインアプリケーションが公開され、このすべてをコンテナ(Docker)内に入れたいと考えています。さまざまなマイクロサービスをDockerとどのように接続しますか?

可能ですか?

これを説明するチュートリアルは誰でも知っていますか?

ありがとうございます!

答えて

1

APIゲートウェイとお答えください。 Hereはこのパターンを説明する素晴らしいチュートリアルです。

すべてのクライアントの単一のエントリポイントであるAPIゲートウェイを実装します。 APIゲートウェイは、2つの方法のいずれかで要求を処理します。一部の要求は、適切なサービスに単純にプロキシされ/ルーティングされます。それは、複数のサービスにファンアウトすることによって他の要求を処理します。

enter image description here

このパターンの変化は、フロントエンドのパターンのためのバックエンドです。これは、クライアントの種類ごとに別々のAPIゲートウェイを定義します。APIゲートウェイを使用して

enter image description here

次のような利点があります。

  • は、アプリケーションがmicroservices

  • に区画されている方法から、クライアントがの問題から顧客を絶縁する絶縁しますサービスインスタンスの場所の決定

  • 各クライアントに最適なAPIを提供します。

  • リクエスト/往復の回数を減らします。たとえば、APIゲートウェイを使用すると、クライアントは1回のラウンドトリップで複数のサービスからデータを取得できます。要求が少なくてもオーバーヘッドが少なくなり、ユーザーエクスペリエンスが向上します。 APIゲートウェイは、モバイルアプリケーションにとって不可欠です。

  • は、APIゲートウェイ

  • にクライアントから複数のサービスを呼び出すためのロジックを移動することで、クライアントを簡素化することはプロトコルが

内部的に使用されているものは何でもに「標準」、公開ウェブフレンドリーなAPIプロトコルから変換します

  • APIゲートウェイパターンはいくつかの欠点を有しています複雑さの増加 - APIゲートウェイは、開発、展開、管理が必要なもう1つの動く部分です。

  • APIゲートウェイ経由の追加ネットワークホップによる応答時間の増加 - しかし、ほとんどのアプリケーションでは、余分な往復のコスト重要ではありません。

APIゲートウェイの実装方法は?

高負荷を処理するためにスケーリングする必要がある場合は、イベントドリブン/リアクティブのアプローチが最適です。 JVMでは、Netty、Spring ReactorなどのNIOベースのライブラリが理にかなっています。 NodeJSは別のオプションです。

+1

ありがとうございました! あなたの情報は私にとって非常に役立ちました – Alberto

1

だけであなたに最も単純な答えを与える:使用するだけで残りの部分に限定しない一般的なコンテナに は、任意のプロトコル(HTTP、FTP、TCP、UDP)とお互いの間で通信することができます(HTTP/S)

  1. 外部/内部名(DNS)を使用して、内部/外部IPアドレスとポート
    • あなたのマイクロサービスは、マルチホスト上で同じクラスタ内にある中で - >あなたはあなたの中にプログラムを書くことができるはずですSpringbootがhttp:// {{コンテナサービス名}}を呼び出す、それは組み込みの偉業ですさまざまなクラスターまたはホストまたはインターネットに複数のマイクロサービスがある場合は、APIM(API管理)またはリバースプロキシ(NGINX、HAProxy)を使用してサービス名などを管理できます。 microservice1.yourdomain.com - > container1またはservice1(クラスタ) microservice2.yourdomain.com - >コンテナ2またはサービス2(クラスタ) yourdomain.com/microservice1->コンテナ2またはサービス2(クラスタ) yourdomain.com/microservice2 - > container1又はService1の(クラスタ)

PS。そこにはより洗練されたテクニックがありますが、根本的にアプローチの上に来ています。

+0

ありがとうございます! あなたの情報は私のためにとても役に立ちました – Alberto

関連する問題