RPC セマンティック規約の安定化プロジェクトを発表

Blog posts are not updated after publication. This post is more than a year old, so its content may be outdated, and some links may be invalid. Cross-verify any information before relying on it.

セマンティック規約 SIG は、RPC の安定化に向けた取り組みを開始できることを嬉しく思います!

2025年5月にデータベース規約の安定化を完了したのに続き、主要な分野の安定化に向けた作業を継続しています。 次の対象は RPC です。

堅実な規約を定義するには多くの人の力が必要です。 特に、gRPC、JSON-RPC、Apache Dubbo をはじめとする多様な RPC テクノロジーの分野ではなおさらです。 これらのフレームワークに携わっている方、広く利用している方、あるいは単に詳しく知りたいという方は、ぜひご参加ください。 皆さんのご協力をお待ちしています!

信頼性の高いテレメトリー規約に向けて

信頼性が高く、明確に定義された規約は、より豊かなテレメトリー体験の基盤です。 シグナル名と属性名が一貫していれば、破壊的変更への対応に追われることなく、アラートやダッシュボード、可視化の構築に時間を費やすことができます。

既存の実験的な規約はかなり長い間使用されてきており、対応する計装に破壊的変更を導入することが混乱を招くことは理解しています。

これらの変更は、実用的で有用なテレメトリーを生成する高品質な計装を提供するために、長期的には不可欠であると確信しています。

スムーズな移行を実現するために、段階的な移行計画に従う予定です。 計装ライブラリでは以下を行います。

  • 新しいセマンティック規約を、既存の規約と併用する形でオプトインフラグの背後に配置して提供する。
  • 両バージョンの規約を長期間にわたって維持する。
  • 詳細な移行ガイドを提供する。

セマンティック規約の安定化はどのように行われるのか

安定化フェーズでは、既存の規約をレビューし、そのテクノロジーを使用するほとんどのアプリケーションにとって有意義な洞察を提供しているかどうかを確認します。 規約が合理的なパフォーマンスオーバーヘッドで汎用的な計装を可能にしているかをチェックするとともに、プライバシー、テレメトリーのボリューム、一貫性、そしてより高レベルのアプリケーションテレメトリーやより低レベルのトランスポートテレメトリーとの相関も考慮します。

私たちは、有用で、使いやすく、拡張可能な規約を目指しています。

RPC については、以下の主要な分野に注力しています。

  • 基本的なシグナル: クライアント/サーバースパンや呼び出し時間のヒストグラムなど、フレームワーク間で一貫して記録できるテレメトリーシグナルのコアセットを定義することを目指しています。 これらは一般的なデバッグワークフローと RED(Rate、Errors、Duration)メトリクスをサポートします。 既存の規約をレビューし、コア属性を特定し、汎用的な定義とフレームワーク固有の適用方法の両方をドキュメント化します。

  • フレームワーク固有のテレメトリー: フレームワークには、固有の機能を反映する追加の属性、スパン、またはメトリクスで汎用規約を拡張することを推奨しています。 gRPC メトリクスのようなコミュニティメンテナンスの拡張を含め、これらの拡張をレビューします。

  • スコープ: 双方向ストリーミングでは、本質的に得られるオブザーバビリティが限定されます。 現実的に取得可能な有用なシグナルを評価します。

  • 一貫性とガイドライン: 長年にわたって、命名やピアの詳細、エラーの記録に関するベストプラクティスが改善されてきました。 RPC の規約は、これらの最新のガイドラインに合わせて更新されます。

  • プロトタイプ: 安定化の重要な要件は、規約に従った実際の計装やプロトタイプが存在することです。 これらの実装は、明確さ、実現可能性、実用的な価値に関する重要なフィードバックを提供し、そのアプローチがさまざまなライブラリやプロトコルにわたって機能することを検証するのに役立ちます。

参加するには

人気のある RPC フレームワークの経験を持つコントリビューター、および計装プロトタイプの構築に関心のある方を募集しています。 参加をご希望の方は、RPC 安定化プロジェクト提案にコメントしてご参加ください。