# Stubby ## 概要 **Stubby** は [[Google]] が内部向けに開発した RPC(リモートプロシージャコール)ライブラリ。外部公開の gRPC と同等の機能を持ち、Google Search・Gmail・Maps・YouTube などのユーザー向けサービスと、[[Spanner]]・[[Bigtable]]・F1・GFS などの内部データ管理システムで広く使用されている。 ## 特徴 - ロケーション非依存な通信: リモートマシンへの関数呼び出しがローカル呼び出しと同様に見える - 接続管理・ネットワークプロトコル・パラメータのマーシャリング/デマーシャリング・暗号化/復号化・スレッドスケジューリングをスタック内に隠蔽 - ユーザ空間ライブラリとして実装 ## RPC フリートワイド計測での位置づけ [[@2023__SOSP__A Cloud-Scale Characterization of Remote Procedure Calls]] では、Stubby を通じて Google フリート全体の RPC 特性(レイテンシ・スループット・コールグラフ・CPU コスト)を 700 日間・722 億サンプル規模で計測。10,000+ の異なる RPC メソッドが分析対象となった。 ## gRPC との関係 Stubby は Google 内部向けで、その設計知見を元に **gRPC**(外部公開版)が開発された。gRPC は現在多くのクラウドアプリケーションで標準 RPC フレームワークとして採用されている。 ## 出典 - [[@2023__SOSP__A Cloud-Scale Characterization of Remote Procedure Calls]]