gRPC とは?

gRPC

gRPC

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

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

gRPCバージョンアップ情報

すべてを見る

更新日:2022-12-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/what-is-grpc/introduction/

他のコンポーネントとのやりとりを記述する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/showcase/

TOPに戻る

gRPCの動作環境

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

C/C++
Linux,Mac:GCC 6.3以上、Clang 6以上
Windows (10以降):Visual Studio 2017以上
C#
Linux,Mac:.NET Core, Mono4以上
Windows (10以降):.NET Core, NET4.5以上
Dart
Linux,Mac,Windows:Dart:2.12以上
Go
Linux,Mac,Windows:Go 1.13以上
Java
Linux,Mac,Windows:Java 8以上(Android:Kitkat以上)
Kotlin
Linux,Mac,Windows:Kotlin:1.3 以上
Node
Linux,Mac,Windows:Node v8 以上
Objective-C
macOS (10.10以上)、iOS(9.0以上):XCode 12以上
PHP
Linux,Mac:PHP:7.0以上
Python
Linux,Mac,Windows:Python:3.5以上
Ruby
Linux,Mac,Windows:Ruby:2.3以上

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

TOPに戻る

gRPCのライセンス

gRPCのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

TOPに戻る

参考情報

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

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

TOPに戻る

gRPCのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

・オープンソース年間サポートサービス

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