Cookpad の gRPC 動作環境(サービスイン) cookpad/sds registrator コンテナが service 起動時に front-envoy のエンドポイントを登録 (e.g. 10.0.0.1:77777) app Service A envoy front-envoy サービス名 エンドポイント weight Service B 10.0.0.1:6789 100 Service C 10.0.0.1:7896 100 Service A 10.0.0.1:7777 100 registrator
Cookpad の gRPC 動作環境(Slow Start) cookpad/sds app Service A envoy front-envoy サービス名 エンドポイント weight Service B 10.0.0.1:6789 100 Service C 10.0.0.1:7896 100 Service A 10.0.0.1:7777 2 registrator コンテナが weight を徐々に大きくしていく registrator
Cookpad の gRPC 動作環境(Running) cookpad/sds 1. 定期的に registrator コンテナが app に health check 2. health check がとおったら sds に再登録 app Service A envoy front-envoy registrator サービス名 エンドポイント weight Service B 10.0.0.1:6789 100 Service C 10.0.0.1:7896 100 Service A 10.0.0.1:7777 100
Cookpad の gRPC 動作環境(サービスアウト) cookpad/sds registrator コンテナが service 終了時に front-envoy のエンドポイントを削除 app Service A envoy front-envoy サービス名 エンドポイント weight Service B 10.0.0.1:6789 100 Service C 10.0.0.1:7896 100 registrator