RPC フレームワークとは何ですか?
Oct 29, 2020 pm 03:04 PMrpc フレームワークには、1. RMI、リモート メソッド呼び出し、2. ヘシアン、HTTP ベースのリモート メソッド呼び出し、3. Dubbo、タオバオのオープン ソース TCP ベース RPC フレームワークが含まれます。
rpc フレームワークには次のものがあります。
RPC はリモート プロシージャの略です。 call は大規模な分散アプリケーションで広く使用されており、その役割はシステムの垂直分割を促進し、システムの拡張を容易にすることです。 Java には多くの RPC フレームワークがあり、それぞれに独自の特徴があり、広く使用されているものには RMI、Hessian、Dubbo などが含まれます。 RPC のもう 1 つの特徴は、言語を越えて実行できることです。この記事では、例として JAVA 言語の RPC のみを取り上げます。
#RMI を例とした、RPC の論理関係図があります。
#他のフレームワーク構造も同様ですが、オブジェクトのシリアル化方法、オブジェクトを送信するための通信プロトコル、登録センターの管理とフェイルオーバー設計 (Zookeeper を使用) が異なります。
クライアントとサーバーは異なる JVM で実行できます。クライアントはインターフェースを導入するだけです。インターフェースの実装と実行時に必要なデータはすべてサーバー側で行われます。RPC主にテクノロジーに依存しており、シリアル化、逆シリアル化、および送信プロトコルであり、JAVA では、シリアル化されたデータのシリアル化、逆シリアル化、送信に相当します。 RMI のシリアル化と逆シリアル化は JAVA にネイティブです。ヘシアンのシリアル化と逆シリアル化はプライベートであり、送信プロトコルは HTTP です。Dubbo のシリアル化はさまざまなオプションから選択できます。一般的にはヘシアンのシリアル化プロトコルが使用されます。送信は TCP プロトコルで、高性能 NIO フレームワーク Netty。また、Google の ProBuffer、JBoss Marshalling、Apache Thrift などのシリアル化についても多少の知識はあります。以前、ProBuffer
# # を紹介するブログ投稿を書きました。 1. RMI (Remote Method Invocation)
JAVA 独自のリモート メソッド呼び出しツールですが、特定の制限があります。結局のところ、これは JAVA 言語のオリジナルの設計です。 、多くのフレームワークの原則は RMI に基づいていました。RMI の使用方法は次のとおりです:#外部インターフェイス
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
#RMI サーバー
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
サービスの登録管理 サーバーはServerに記述されており、もちろん別のサービスとして取り出すことも可能ですが、他のフレームワークではZookeeperが登録管理の役割を果たすことがよくあります。
2. ヘッセ行列 (HTTP ベースのリモート メソッド呼び出し)
HTTP プロトコル送信に基づいて、そのパフォーマンスは次のようになります。まだ良好です 完璧ではありません。ロード バランシングとフェイルオーバーはアプリケーションのロード バランサに依存します。ヘシアンの使用は RMI に似ています。違いは、レジストリの役割が軽視されていることです。表示されたアドレスを通じて呼び出され、HessianProxyFactory を使用して設定されたアドレスに基づくプロキシ オブジェクト さらに、Hessian Jar パッケージも導入します。
#3. Dubbo (淘宝網のオープンソース TCP ベースの RPC フレームワーク)
#Netty に基づく高性能 RPC フレームワークは、Alibaba によってオープンソース化されており、全体的な原則は次のとおりです。 Dubbo を理解する前に、まず Zookeeper について深く理解する必要があります。一度 Zookeeper を理解すれば、Dubbo に秘密はなくなります。
Dubbo の詳細な説明は、タオバオ オープンソースに非常に詳しく記載されています。Dubbo は仕事で多くの制作プロジェクトで使用されており、その過程で注意が必要な点も多く発見されています。多数の構成や不適切な設定は煩わしいので、既存のオープンソース Dubbo をベースにカスタマイズして最適化するのが最善です。
関連する無料学習の推奨事項:
以上がRPC フレームワークとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











手書きの RPC フレームワークは、実際には 13 歳のふりをするためだけのものではありません。

アリババのインタビュアー: RPC フレームワークを手書きで書いてください。

Go 言語 RPC フレームワークの評価: パフォーマンス、使いやすさ、コミュニティ サポートの比較

選択にお困りですか? Go 言語 RPC フレームワークの包括的な評価ガイド
