
Pemrogram menyukai cerita yang bagus, jadi saya berharap perjalanan lima tahun ke API komposit menggunakan GraphQL dalam lingkungan produksi (pada puncak permintaan 110 per detik pada latensi 100 md) akan menarik.
[Jika Anda terburu-buru, proskrolte di bawah ini untuk pelajaran dan lihat open source graphql-schema-registry ]

, Pipedrive ( 2020 10 ), REST API . /users/self, , , 30 . PHP , . , .

, .
, graphql.
3-4 , , , - - elixir graphql. MySQL Pipedrive /graphql.
, , - CRUD, .
2019, , GraphQL stitching graphql-compose REST API. , , - graphql .
:
. dataloader', N+1 . - .
. , , . - - , - .
, POST gateway .
graphql - . , Protobuf Thrift, GRPC, OData.
, graphql (insights, teams) , ( User). typescript + relay , .
.
, - API ? ? Gateway - ? .
, - , - . Confluent’s schema-registry Atlassian’s Braid, , Java, .
3 :

:

schema-registry , , (swagger, typescript, graphql, avro, proto). .
Gateway schema-registry . frontend autocomplete .
, graphql , , .
/users/self - ? (!). - , .
( 2020), - 13% 25% (- ), UI Datadog.
, - REST.
- ( 600+ ), - . IOS- Android- graphql .
60 , -
Apollo studio . gateway.

, - , - . opensource - graphql-schema-registry.
graphql gateway . , gateway .
, gateway , - . Apollo studio - .
, ( -) . . Gateway schema-registry /schema/compose , .
schema-registry ,


REST Graphql API, , REST.
REST
REST graphql, openapi-to-graphql, .

- , , ? REST .
, REST API , .

REST API . , - deal.pipeline_id. graphql, ,
json-. , REST _, .

CQRS
Pipedrive TTL-.
, , . , . 3 .
- PHP-, nodejs ( monograph), memcached. -. , .

CQRS pattern. , 80% .

- . , - . - , identity. .
Identity , kafka, monograph . , ( 1 ), . , - .
APM - . Datadog .
, 30 memcached. . memcached 10, , 220. , - mcrouter. , 20 .
- , getMulti . resolver' , 5 debounce .

. graphql gateway . , .

28 30 , 500, .
graphql , /graphql . 3-5 , ( debounce FE )
, - (APM) tracing:true, .

700 300 . , ( performance.now()), .
graphql gateway Chrome DevTools, , .
, graphql . /graphql ( vendors.js) . , - - .
- graphql gql . bundle, fetch. , - - . server-side-rendering service workers .
graphql , . , , rate limit .
graphql-cost-analysis , , - , , ( , , CPU, ). gateway schema-registry. .
js/typescript . graphql .
koa-graphql apollo-server-koa GraphQLSchema . apollo/server :
buildFederatedSchema([{typeDefs, resolvers}]), , gql , schema.graphql , , ASTNode ( parse / buildASTSchema)
canary
- .
, graphql 100 -"". 1000 , 1%, 10%, 30%, 50% .
company ID . , - , graphql . - graphql .
, , ( ), .
- graphql , - , , . - .
graphql API , API. OAuth ( ) .
schema-registry , gateway - , , , (persisted query), .
, go, - GRPC - , graphql , gateway. GRPC - , graphql msgpack?
Sedangkan untuk dunia luar, saya berharap Apollo dengan proyek Constellation -nya akan mempercepat pemrosesan permintaan Rust sehingga tidak ada pajak kinerja 10% dan akan dapat menggabungkan layanan graphql tanpa perubahan besar pada yang terakhir.
Secara umum, waktu yang tepat untuk menikmati perkembangan di mana ada banyak kerumitan!