3 ms·
From the article: >>Polaris pretends to be a cache server De facto, it is a cache server, with the associated performance decrease. Isn't the main purpose of
by pdevr 4y ago
From the article:
>>Polaris pretends to be a cache server
De facto, it is a cache server, with the associated performance decrease. Isn't the main purpose of caching to improve performance?
>>We deploy Polaris as a separate service so that it will scale independently from the production service and its workload.
Assuming the scaling is horizontal, so then, to synchronize among the service instances, what do you do? Create another meta-Polaris service?
Not rhetoric or sarcasm - hoping for an open discussion.
- deleted 4y ago[deleted]
- uvdn7 4y ago> De facto, it is a cache server, with the associated performance decrease. Isn't the main purpose of caching to improve performance? Polaris only receives cache invalidation event, and doesn't serve any client queries. > so then, to synchronize among the service instances It doesn't synchronize among the service instances. It's actually basically stateless. It pretends to be a cache server only for receiving invalidation events, and acts as a client, and assumes no knowledge of the cache internals.
- pdevr 4y agoThanks for the clarification. However, in that case, won't the querying of all the cache copies/replicas turn out to be the bottleneck at high volumes? Because you are going to have to check all the existing copies/replicas somewhere, right?
- uvdn7 4y agoYep. Polaris checks can be sampled, but still covers pretty much all types of workload and scenarios/races over time.