Dissecting regional failover
Up to this point we have covered all the building blocks for running serverless systems in multiple regions, including regional health checks, regional routing and data replication. Now let's see how all this comes together during a regional disruption.It is important to understand the various failure points and how the system should react as it fails over to a healthy region. Fortunately, our well-defined patterns provide us with a bounded set of function categories that we need to dissect. These are the query, command, trigger and listener functions we have across the patterns. We will use these to frame this topic.
Query failover
Data is essential to the operation of any application. Cached data, even if it is stale, is better than no data, provided the application is transparent with the users about the age of the data and the status of the system. So, when an application performs a query, we prefer to return stale data over no data or errors. Our...