Comments (6)
@batjko That will depend on the exact circumstances. Firing manual invalidations will always have to be an option for performance and flexibility reasons, but in many applications where performance isn't critical, Apollo could do essentially what livequery is doing today and there would be no need to fire invalidations manually.
My guess is that we will have a version 0 where all invalidations have to be fired manually, and then we'll build more and more support for automatic invalidations for different backends.
from apollo.
In this case, it will probably need to be custom - you'll get to pick from one of three options:
- Either always invalidate that list whenever points change on any user (probably not good)
- Fire custom invalidations when you know for sure the points are close enough to be in the top list
- Render the list via polling and never invalidate it
from apollo.
How is this done currently in Meteor? I believe the server publishes all the users and the client has a reactive query through minimongo, right? But this is not scalable for, let's say, 1M users.
from apollo.
@deiucanta . No, the server does not have to publish all users. The main reason why the current approach is not very scalable (although this is always mentioned very vaguely, I haven't seen any good benchmark yet), is that the server has to process all changes to a database, even if they are irrelevant to the users connected to that server + the server has to cache all the data a client is subscribed to (called the mergebox) in order to only send data once.
from apollo.
@sebakerckhof makes sense
Any ideas on how RethinkDB does it? They can handle thousands of reactive queries.
from apollo.
Would the invalidation (e.g. @stubailo's options 1 and 2) have to be triggered 'manually' or would Apollo do it reactively, according to those custom rules?
from apollo.
Related Issues (20)
- Incompatible Gatsby plugin
- ESLint warnings
- Upgrade Space-X Rest API Version - Tutorial
- Installing @apollo/client for React gives Eslint errors. HOT 1
- Issue with example Launches url - api has HTTP ERROR 502
- useQuery fetch data is different in network and console.log HOT 1
- SchemaError doesn't show which fields have errors
- SchemaError doesn't show which fields have errors
- @apollo/client (react) make nested custom object type for mutation
- GitHub Integration docs using rover - duplicate and dated content HOT 1
- Ability to configure schema registration without env vars HOT 1
- [Question][Feature Request] - How To update varaibles inside of Studio from mutation response HOT 1
- Apollo Client adds __typename at the end of the type while apollo CLI adds at the top of the type
- Apollo studio connected to http://localhost doesn't work with cookies HOT 1
- buildSubgraphSchema errors with duplicated query type HOT 1
- Apollo Studio - GraphQL scaled out into Multiple Clusters
- [Question] Gateway and DOWNSTREAM_SERVICE_ERROR HOT 1
- React native cli with apollo pagination
- Apollo Studio on fragments variables request error
- Issue with user input errors coming through datadog metrics.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apollo.