Tencent は、プラグインの概念に基づいて設計された多言語で高性能な RPC 開発フレームワークである tRPC のオープンソースを発表しました。オープンソースの最初のバッチでは Go/Cpp プログラミング言語がサポートされており、将来的にはさらに多くのプログラミング言語がオープンソース化されることが予想されます。
導入によると、tRPC は基盤となる通信をカプセル化することで RPC 呼び出しメソッドを提供し、分散アプリケーション開発を容易に実行でき、プラグインベースのアーキテクチャはさまざまなビジネス通信プロトコルをサポートし、さまざまなマイクロサービス ガバナンス プラットフォームに柔軟に接続でき、ビジネスに役立つ 必要なマイクロサービス システムを迅速に構築します。
建築デザイン
tRPC は、アーキテクチャ設計にプラグイン設計概念を採用しています。アーキテクチャ全体は、「フレームワーク」と「プラグイン」の 2 つの部分で構成されます。点線のボックスが tRPC、中央の赤い実線のボックスがフレームワークです。 、青い実線のボックスがプラグイン部分です。tRPC は、コア機能を独立したプラグインに抽象的にカプセル化し、フレームワークがこれらの独立したプラグインの連結とアセンブリを担当することで、フレームワークでサポートされる機能を実現します。この設計により、tRPC は高度にオープンで拡張可能になります。 . セックス。さらに、フレームワークは管理管理インターフェイスも設計しているため、ユーザーまたは運用プラットフォームは管理インターフェイスを呼び出すことでサービスを管理できます。
主な特徴
- 言語間: プロトコル バッファーに基づいて言語間サービス通信を実装します。
- 複数の通信プロトコル: 複数の通信プロトコルをサポートし、さまざまなフレームワーク (gRPC など) との相互運用性を促進します。
- ストリーミング RPC のサポート: 大きなファイルのアップロード/ダウンロード、メッセージ プッシュ、AI 音声認識/ビデオ理解、その他のアプリケーション シナリオに適しています。
- プラグイン エコシステムの強化: 業界のマイクロサービス コンポーネント (Consul/Promethues/Opentelemetry など) に接続する多数のプラグインを提供し、ユーザーが自分に合ったサービス ガバナンス システムを構築できるようにします。
- 拡張可能: フレームワークのプラグイン設計に基づいて、ユーザーは二次開発を実行して、RPC リクエスト パラメータの検証、認証、リクエストの記録などのフレームワーク機能を拡張できます。
- フロー制御と過負荷保護: さまざまなアプリケーション シナリオでフロー制御と過負荷保護プラグインを提供し、突然のアクセスの急増によるサービスの過負荷や使用不能を防ぎます。
プロジェクト計画
- オープンソースのその他のプログラミング言語: Java、Python、Node
- エコシステムを強化し、よりクラウドネイティブな関連プラグインとコンポーネントをオープンソース化する