🙄

RPCって何?

に公開

もちろんです。まず RPC(Remote Procedure Call:リモートプロシージャコール) について説明し、それが 分散システム とどう関係するかを説明します。

■ RPCとは?

RPC(Remote Procedure Call)とは、「別のコンピュータ上の関数(プロシージャ)を、あたかも自分のコンピュータ上の関数のように呼び出す仕組み」です。

例(イメージ):

あなたのPCのコードが、

result = add(1, 2)

と書いてあるとして、この add() 関数の中身が実は 遠く離れた別のサーバーで動作しているというのがRPCです。

■ どんなときに使うの?
• マイクロサービス間通信
• クライアントとサーバーが別々の環境にあるとき
• クラウド上のAPIを呼び出すとき(例:gRPC、Thrift など)

■ 分散システムとは?

分散システムとは、「複数のコンピュータが協力して、あたかも一つのシステムのように動作する仕組み」です。

例:
• Google検索
• Netflixの動画配信
• Amazonの商品レコメンド

これらは裏で何百、何千ものマシンが同時に動いています。

■ RPCと分散システムの関係

RPCは、**分散システムにおける「部品同士の通信手段」**です。分散システムの中のサービス同士が、互いにデータをやり取りするときにRPCを使うことがよくあります。

■ 代表的なRPCフレームワーク
• gRPC(Google製。Protocol Buffersを使う)
• Apache Thrift(Facebook製)
• JSON-RPC / XML-RPC(より古い形式)

もっと具体的な技術やコード例が見たいですか?

Discussion