istioの取得、特使は今それを見て時間を取ることが不可欠で表示されます。
特使は何ですか
私たちは、いくつかは、公式サイトを引用説明します。
特使は、大規模な近代的サービス指向アーキテクチャ向けに設計されたL7プロキシと通信バスです。このプロジェクトは、という信念から生まれました:「。ネットワークとアプリケーションの問題は、問題の原因を決定するために、それは簡単なはず発生した場合には、ネットワークがアプリケーションに対して透明でなければなりません」
Envoyのコア機能/セールスポイント
- 非侵襲的なアーキテクチャは:
Envoy
、パラレルおよびアプリケーションサービスで実行中のアプリケーションサービス透過プロキシ送信される/トラフィックを受け取りました。アプリケーションサービスのみとEnvoy
ここで他のマイクロサービスアプリケーションを知らなくても、通信、。 - 優れた性能に基づいて、現代のC ++ 11。
- L3 / L4フィルタアーキテクチャ:
Envoy
L3 / L4剤のコア、および次いで(プラグインを介してフィルタリングnetwork filters
TCP / UDP関連のタスクを実行するために)そのようなTCP転送などの鎖、TLS認証作業。 - HTTP L7フィルタアーキテクチャ:HTTPは、アプリケーションシステムにおける現代のアプリケーション層プロトコルでは非常に特別な位置であり、それは
Envoy
非常に中央フィルタを内蔵:http_connection_manager
。http_connection_manager
それ自体が(一連のHTTPフィルターを通して、豊富なコンフィギュレーションのサポート、およびフィルタアーキテクチャ自体、とても特殊で複雑であるhttp filters
ように、HTTPルーティング、リダイレクション、CORSサポートと:例えば、HTTPプロトコルレベルのタスクを達成するために)。 - HTTP / 2最初の市民として:
Envoy
HTTP / 1.1およびHTTP / 2のサポートは、HTTP / 2を使用することをお勧めします。 - gRPCサポート:理由はHTTP / 2のための良いサポートの、そして
Envoy
簡単にgRPC、特に負荷およびエージェントをサポートすることができます。 - サービスの発見:発見プログラムは、DNS、EDS、を含むなど、さまざまなサービスを、サポートしています。
- ヘルスチェック:内蔵の健康検査サブシステム。
- 高度な負荷分散スキーム:、グローバルレート制限自動リトライ、回路遮断:通常の負荷分散のほかに、特使はまた、高度な負荷分散スキームのレート制限のさまざまなサービスが含まをサポートしています
- トレース:オープントレースは簡単にリクエストを追跡するシステムを統合
- 統計とモニタリング:内蔵統計モジュールのような簡単な統合監視プログラムプロメテウス/ statsdなどのために
- 動的構成:「動的構成API」動的調整の設定、再起動せずに
Envoy
サービスを。
コアの用語
ホスト
ここではホスト、それが同定された唯一のサービスインスタンスIP、ポートによって理解されています
下流
ホストへの要求はダウンストリーム(下流)特使で送信する、クライアントgRPC例えば
上流の
ホスト受信した要求が発行されEnovyアップストリーム(上流)、サーバgRPC例えば
リスナー
アドレス特使リスニング、IPなど:ポート、UNIXソケットなど
クラスタ
機能ホストの一貫性の上流、クラスタと呼ばれています。と同様に、k8s
Service
nginx
upstream
HTTPルートテーブル
クラスタへの転送など、要求されたドメイン名としてHTTPルーティングルール、どのようなルールに沿って、パス、。
唯一の静的な設定ファイルを使用します:
管理者:
access_log_path:/tmp/admin_access.log
アドレス:
socket_address:{アドレス:0.0.0.0、port_value:9901}
static_resources:
リスナー:
-名前:listener_0
アドレス:
socket_address:{アドレス:0.0.0.0、port_value:7777}
filter_chains。
-フィルタ:
-名前:envoy.http_connection_manager
設定:
stat_prefix:ingress_http
route_config:
名前:local_routeの
virtual_hosts:
-名前:local_serviceの
ドメイン:[ "*"]
路線:
-マッチ:{接頭辞"/"}
ルート:{クラスタ:some_service}
http_filters:
-名前:envoy.routerの
クラスタ:
-名前:some_serviceの
CONNECT_TIMEOUT:0.25秒
タイプ:STATIC
lb_policy:ROUND_ROBINの
ホスト:[{socket_address:{アドレス:127.0.0.1、port_value:8000}}]