We all know that web services sometimes virtually disappear from the internet. They don't need to fail, routing problems or congested transmission lines suffice. Here's what we did and what you can do to mitigate such outages.
Scrivito has a very sophisticated caching layer that vastly reduces the number of requests your application needs to make to Scrivito. For the majority of website visitors, assuming a warm cache, only one request to Scrivito is required. The purpose of this request is to check whether the published content has changed.
The published content only changes after publishing (sounds logical, doesn't it?). If the amount of published changes is small, Scrivito adds the changes to the existing cached data. This has the effect that your app only needs to perform requests for the changed content instead of having to rebuild the whole cache from scratch. With very extensive publishing actions (more than 100 changes to CMS objects), or if more than one other working copy was published in the meantime, it is more expensive to update the current cache, so it is completely invalidated instead. Therefore, it is recommendable to publish smaller amounts of changes to improve the performance and stability of your site. This also leads to more comprehensive working copies.