GraphQL vs gRPC
https://1.bp.blogspot.com/-2-YT13MsEfA/Wn1V-pXYeXI/AAAAAAABKGw/GBUrwzqztF0GRFPvs8v58Bb-hIuVnlHzQCLcBGAs/s450/kaidan_suwaru_hanasu_school.png
実はそれぞれの技術は共通する要素もあるが基本的に対立する関係にない。
実現手法は異なるが両者に共通するのが以下の要素。
スキーマがベースにあり、APIの実装やクライアントのコード生成が行える
型付けが行われ、リクエストの入力値検証やレスポンス型の提供が行われる
大きな違いは下記の通り。
データの読み書きをより「効率的」に行うための仕組み
速度というよりは、必要なデータを必要なだけ過不足なくやり取りすることに重きをおく
インターフェースを満たす限りデータの元は何でも良い
RESTとは異なる専用のキャッシュ機構が定義されている
データのやり取りをより「高速」に行うための仕組み
ロードバランシングやヘルスチェックなどの機能を持つ
データはシリアライズされて通信されるので非常に軽量
詳細はそれぞれの記事に託す。