[go: nahoru, domu]

[この記事は Mugur Marculescu、プロダクト マネージャーによる Google Developers Blog の記事 "gRPC releases Beta, opening door for use in production environments" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

gRPC ベータ版がリリースされました。今回のリリースは API の安定性を高める重要なリリースであり、今後の変更は追加のみになる予定です。本番環境での gRPC 利用も視野に入れることができます。

また、インストール プロセスも大幅に向上される予定です。過去数週間にわたり、gRPC パッケージを Debian Stable/Backports にて公開しました。多くの場合、インストールには Debian パッケージまたは言語別のパッケージ マネージャー(たとえば、 mavenpipgemcomposerpeclnpmnugetpod)を使用する 2 つの方法があります。また、 gRPC docker イメージを Docker Hub で利用できるようになりました。

grpc.io のドキュメントには最新の変更を反映し、言語固有の リファレンス ドキュメントを追加リリースするなどの更新を行いました。ベータ版リリースにともなう JavaGo他のすべての言語の変更点については、GitHub のリリース ノートを確認してください。

今後数ヶ月は、本稼働でのパフォーマンスや安定性の向上に集中的に取り組み、機能を厳選して追加していく予定です。 これは、 HTTP/2 上での高性能で拡張性の高い API とマイクロサービスを可能にするという、Google の方針および目標の一環です。またドキュメントも明確に記述され、新たな使用例やガイドが引き続き追加される予定です。

gRPC に対するコミュニティの対応や、gRPC を使用予定の各種プロジェクト(etcd v3 の試験 API、RESTful API 用の grpc-gateway など)に対し感謝申し上げます。またコードのコントリビューション、プレゼンテーションの実施、gRPCの採用、コミュニティへの参加をいただいた皆様には心よりお礼申し上げます。正式版(1.0)へのご支援もどうぞよろしくお願いいたします。

Posted by Yoshifumi Yamaguchi - Developer Relations Team

[この記事は 2015 年 2 月 26 日に Mugur Marculescu、Product Manager が Google Developers Blog に投稿した記事 "Introducing gRPC, a new open source HTTP/2 RPC Framework" を元に、山口が翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Google は本日( 2 月 26 日)、リモート プロシージャ コール処理の新しいフレームワークである gRPC をオープンソース化します。このフレームワークは BSD ライセンスで、最近承認された HTTP/2 標準に基づき、一般的なプログラミング言語やプラットフォームにおける効率的で拡張性豊かな API やマイクロサービスの作成をサポートしています。Google では、長期的な HTTP/2 に対するコミットメントの一つの現れとして gRPC の使用を既に開始しており、gRPC エンドポイントを通じて数多くの正式なサービスを公開しています。

ここ数年、Google は基盤システムやテクノロジーの開発を通じて世界中のマイクロサービスに対する巨大なエコシステムを支えてきました。Google の各国データセンターのサーバーでは毎秒数百億ものコールが処理されています。この規模ではナノセカンド(10 億分の 1 秒)が重要になり、効率性、拡張性、信頼性が Google の API を構築するうえでの鍵になります。

gRPC は、分散システム構築における Google の長年の経験を元に開発されています。Google はこのフレームワークを通じて、デベロッパーの皆さんに高い処理能力と CPU 効率を備えた遅延の少ない最新の手法を提供したいと考えています。gRPC を使えばデータセンター広範にわたり、またモバイルアプリ、リアルタイム通信、インターネット接続されたあらゆる端末、API などにおいても大規模分散システムを築くことができます。

HTTP/2 標準を基盤とすることで、双方向ストリーミングやフロー制御、ヘッダー圧縮、TCP 接続 1 つに対する多重リクエスト、など多くのことが可能になります。こうした機能を使うことで、モバイル端末で使用されるデータ量を低減してバッテリーの寿命を長持ちさせ、クラウドで実行されるサービスやウェブ アプリケーションの動作を軽快にすることができます。

デベロッパーにとっては、よりレスポンシブでリアルタイム性を備えたアプリを作成できるようになり、適応性やウェブ通信の効率を向上させることができます。この機能の詳細については、FAQ をご覧ください。

gRPC と同時に、Protocol Buffers (プロトコル バッファー)の新しいバージョンもリリースします。これはパフォーマンスに優れたオープン ソースのバイナリ シリアライズ プロトコルで、サービスの定義やクライアント ライブラリの自動生成を容易に行うことができます。新しい機能が追加された Proto 3 は以前のバージョンより簡単に使用でき、サポートする言語が増えたほか Proto から JSON への標準マッピングを備えています。

プロジェクトは C、C++、Java、Go、Node.js、Python、Ruby に対応しており、Objective-C、PHP、C# のライブラリを現在開発しています。すぐにでも GitHub リポジトリ からフォークして、プル リクエストの送信を開始できます。また、ドキュメントもご確認ください。メーリング リストFreenode の IRC #grpc チャンネル も是非ご覧ください。StackOverflow“grpc” タグの質問もご確認いただけます。

Google は gRPC プロジェクトにおいて、Square やその他の企業、団体と協力しています。このテクノロジーがウェブをさらに進歩させていくことを、また皆さんからのご協力やご意見、ご尽力によってプロジェクトがさらに発展していくことを楽しみにしています。

Posted by Yoshifumi Yamaguchi - Developer Relations Team