gRPC とは?

gRPC

gRPC

NRIのOpenStandiaが提供するgRPC最新情報

gRPCの保守サポートサービスの内容はこちら gRPCの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

gRPCバージョンアップ情報

すべてを見る

更新日:2021-07-26

gRPCの概要

gRPC(ジーアールピーシー)はGoogleが2015年に開発したオープンソースのRPCです。RPC(Remote Procedure Call/遠隔手続き呼び出し)とは、ネットワーク上の他端末と通信するための仕組みのことで、これによって他端末のプログラムをリモートで実行することができます。

gRPCは、Google社内で10年以上利用されていた独自のRPCであるStubbyをもとにしており、SPDYやHTTP/2、QUICの台頭に連動して標準化されました。

TOPに戻る

gRPCの主な特徴

gRPCは、クライアントアプリケーションが他端末上のサーバーアプリケーションのメソッドを直接呼び出せるため、分散アプリケーションやサービスを容易に作成できます。
リモートで実行できるメソッドはクライアントのスタブに記載されています。スタブからメソッドを指定すると、サーバー側にて指定されたメソッドを処理します。 gRPCのアーキテクチャ

引用元:https://grpc.io/docs/guides/

他のコンポーネントとのやりとりを記述するIDL(Interface Definition Language)としてProtocol Buffersを利用しています。
Protocol Buffersとはオープンソースのバイナリシリアライズプロトコルであり、サービスの定義やクライアントライブラリの自動生成を容易に実施できます。
そのため、異なる言語やプラットフォーム同士であっても効率よくデータのやりとりができます。

またgRPCはHTTP/2上で動作するため、双方向ストリーミングや1つのTCP接続に対する多重リクエストを実現します。これにより、gRPCを用いてレスポンシブでリアルタイム性のあるアプリを開発することができます。

TOPに戻る

gRPCのユースケース

gRPCはiOSおよびAndroid用のライブラリを生成でき、HTTP/2を使用してプロキシやファイアウォールを容易に通過できるため、モバイルクライアントやWebクライアントをバックエンドサービスと繋げる際に利用されています。ブラウザで使用するJSライブラリを開発する際にも利用されています。また、マイクロサービスの相互接続として理想的であり、Googleでもマイクロサービスを接続するためにgRPCを使用しています。
下記URLに具体的なユースケース例の記載があります。
https://grpc.io/docs/

TOPに戻る

gRPCの動作環境

gRPCはC++やJava、python、Go、Rubyなどさまざまな言語に対応しています。
言語ごとの公式サポート状況は下記の表の通りです(※2021年7月現在)。

C++
cmake 3.13 以上、または bazel を使用し、gRPCとProtocol Buffersをソースからビルドする必要がある
C#
.NET Core がインストールされていること
Dart
Dart:2.12以上
Protocol Buffer compiler、protoc、version 3
プロトコルコンパイラ用のDartプラグイン
Go
Go:最新から3つのメジャーリリース
Protocol Buffer compiler、protoc、version 3
プロトコルコンパイラ用のGoプラグイン
Java
JDK:7 以上
Kotlin
Kotlin:1.3 以上
JDK:7 以上
Node
Node:8.13.0以上
Objective-C
Mac OS X 10.11(El Capitan)以上、iOS 7以上
CocoaPods:1.0 以上
XCode:7.2以上
Homebrew
autoconf、automake、libtool、pkg-config
PHP
PHP:7.0以上、PECL、Composer
grpc extension, protocol buffers compiler
Python
Python:3.45以上
pip:9.0.1 以上
Ruby
Ruby:2以上

最新の情報は、下記URLをご参照ください。
https://grpc.io/docs/languages/

TOPに戻る

gRPCのサポート

現在、OpenStandiaではgRPCのサポートを行っておりません。

TOPに戻る

gRPCの参考情報

公式サイト
https://grpc.io/

ソースコードのダウンロード
https://github.com/grpc/grpc/releases

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO