一台のパソコンで処理できる情報量には限界があります。スペックを上げたとしても、処理量が何十倍にもなる訳ではありません。そこで考えるようになるのが分散処理になります。

今回は各種分散処理の方法と、関連オープンソース・ソフトウェアを紹介します。

gRPC

大規模な分散処理と言えばGoogleですが、そのGoogleが開発したRPC(リモート・プロシージャ・コール)がgRPCになります。HTTP/2標準に基づいて開発されており、分散システム構築における経験が活かされたものになっています。

ライブラリはC、C++、Java、Go、Node.js、Python、Rubyで、Objective-C/PHP/C#ライブラリも開発中です。CPU効率と遅延の少ないRPC環境が構築できるようになっています。クライアントはもちろん、サーバ間で通信する際に使っても面白そうです。