IT業界でベンチャービジネスの支援をしている執筆者が日々の活動ログと感じたことを、徒然なるままに書き綴っていきます。

グーグルのクラウドを支えるテクノロジー >  第24回 マイクロサービス・システムにおけるgRPCの役割(前編

»

CTC教育サービスは私が編集支援している中井悦司氏のコラム「グーグルのクラウドを支えるテクノロジー」の第24回 「マイクロサービス・システムにおけるgRPCの役割(前編 」を公開しました。

人気の中井悦司氏のコラムです!興味がある方は是非ご覧ください!!

###
はじめに
 今回は、2017年に開催されたSREcon17 Asia/Australiaでの講演「SRE Your gRPC--Building Reliable Distributed Systems」をもとにして、マイクロサービス型のアプリケーションにおけるgRPCの役割を解説します。この講演では、複数のマイクロサービスを組み合わせた、分散アーキテクチャーのアプリケーションを安定運用するためのガイドが示されており、gRPCを用いたサンプルコードによる解説が加えられています。ここでは特に、マイクロサービス・システムの安定稼働という観点から、gRPCの活用法を紹介したいと思います。

gRPCとは?
 Googleにおけるアプリケーション開発では、スケーラブルなマイクロサービス型のアーキテクチャーが基本となっており、サービス間の通信処理を担うコンポーネントとして、Stubbyと呼ばれる独自のRPCライブラリーが利用されてきました。gRPCは、このライブラリーをオープンソースとして再実装したもので、さまざまなプログラミング言語で使用することができます。
 マイクロサービスの呼び出しには、REST APIもよく利用されますが、REST APIが既存のHTTP(S)プロトコルをそのまま利用しているのに対して、gRPCでは、HTTP/2プロトコルをベースとして、マイクロサービスの連携に必要なさまざまな機能が実装されています。具体的には、アプリケーションレイヤーでのフロー制御、多段階にわたるサービス呼び出しの連携、ロードバランスとフェイルオーバー、双方向のストリーミング通信などがあります。詳細については、gRPCのホームページの説明が参考になるでしょう。

この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai224.html

Comment(0)

コメント

コメントを投稿する