web-dev-qa-db-ja.com

サイドカーとアンバサダーおよびアダプターパターンの違い

マルチコンテナポッドデザインパターン間で混乱しました。
(サイドカー、アダプター、アンバサダー)

私が理解していることは:
サイドカー:コンテナ+コンテナ(同じリソースを共有して他の機能を実行)
Adapter:コンテナ+アダプタ(他のコンテナのステータスをチェックするため。例:モニタリング
Ambassador:コンテナ+プロキシ(外部のネットワークへ)

しかし、 Istio-サイドカーのインストール によると、プロキシはサイドカーパターンとして導入されています。

アダプターはコンテナーであり、プロキシーもコンテナーです。

それで、私の質問はサイドカーパターンとアダプター&アンバサダーパターンの違いは何ですか?

サイドカーパターンのコンセプトには、Adapter&Ambassadorパターンが含まれていますか?

6
GRu. L

Sidecarは、メインコンテナーの機能を拡張する追加のコンテナーです。どこにでもある例は、ログを外部システムに送信することです。ビジネスロジック(メインコンテナー)を変更せずに、ロギングエージェントをサイドカーコンテナーとしてデプロイできます。

Ambassadorは、システムの他の部分へのプロキシであるコンテナです。良い例は、Kubernetes APIへの認証情報を持つアンバサダーコンテナーをデプロイすることです。そのため、クライアントからの認証を使用する必要はありません。別の良い例は AmbassadorをRedisキャッシングクラスターのプロキシとして使用 です。


ここで混乱するのは、これらのパターンは両方ともKubernetesに限定されないということです。ただし、Kubernetesでのアンバサダーの実装では通常、Sidecarを使用します。つまり、Ambassadorは通常、サイドカーコンテナーとして実装されます(説明 here )。

Istioの特使は間違いなくサイドカーコンテナーとして使用して実装されます。 Ambassadorとして説明されているのを見たことがありません。おそらく、システムの他の部分にリクエストを転送するだけではないためです。


この2つの記事では、サイドカーアンバサダーとアダプターのパターンについて非常によく説明しています。

2
Rafał Leszko