Apollo
https://gyazo.com/ec48fbc63d94dff46de344e4807728a0
学ぶ
提供するモジュール
オープンソースのもの
GraphQL server
Schemaと、schemaの各パートを実装したresolverの集合を定義する
Appのデータとステートを管理する
UIコンポーネントの一部としてQueryを定義することで宣言的にプログラミングできる
クエリの結果の詳細をUIにbindingしたり、一貫性やcachingを管理したりする
状態管理を、Client中のGraphQL schemaを追加の構造で拡張する形で行う
view layer(Reactとか)にintegrationできる
Apolloが提供するクラウドサービスへのインタフェース
クラウドサービス
Schema registory
GraphQLスキーマのレジストリ
Client registory
スキーマの利用者のレジストリ
Operation registory
スキーマに対する操作のレジストリ
Trace warehouse
どのようなクエリが誰から発行されたのか分析できるやつ
有償プラグイン
GraphQL gateway & query execution engine
Apollo serverの設定と、GraphQL gatewayとして機能する追加のプラグイン
Gateway:分割されてデプロイされたお互いに参照するmicro schemaを単一のmaster schemaとして構成する
master schemaはclientからみると単なるSchemaに見える
クエリを送られると、実行計画をたてて上層のGraphQLサービスからデータをfetchするして単一の結果にまとめて返す
リアルタイムにdataをpushするやつ