67
edits
(→Current Testing and Deployment Process: Clarify testing and code reviews) |
(→Sample Request Load: Bold text for service names) |
||
Line 164: | Line 164: | ||
A user loads https://developer.mozilla.org/en-US/docs/Web/CSS/display. This contains specification and compatibility data that is sourced from the API, and was current at the time it was saved. In-page JavaScript requests up-to-date data from the '''Table Renderer''' service. | A user loads https://developer.mozilla.org/en-US/docs/Web/CSS/display. This contains specification and compatibility data that is sourced from the API, and was current at the time it was saved. In-page JavaScript requests up-to-date data from the '''Table Renderer''' service. | ||
The request to the '''Table Renderer''' includes a locale ('en-US'), the target feature (a UUID for "Web/CSS/Display"), a cache header (<code>ETag</code>), and the format type (for display on MDN). In the "warm cache" case, the load balancer knows the content is up to date, and returns a <code>304 Not Modified</code> response. If there is a cache miss, a ''Table Renderer'' web worker is called. | The request to the '''Table Renderer''' includes a locale ('en-US'), the target feature (a UUID for "Web/CSS/Display"), a cache header (<code>ETag</code>), and the format type (for display on MDN). In the "warm cache" case, the load balancer knows the content is up to date, and returns a <code>304 Not Modified</code> response. If there is a cache miss, a '''Table Renderer''' web worker is called. | ||
The Table Render makes a similar call to the '''Data API''', asking for the table data | The '''Table Render makes''' a similar call to the '''Data API''', asking for the table data for Web/CSS/Display by UUID. Again, there is a chance the caching load balancer has this data, and can serve it without communicating with the backend '''Data API''' workers. | ||
The compatibility and specification data for "Web/CSS/Display" is spread over 100+ resources of 8 types (Browsers, Versions, Features, etc.). The '''Data API''' maintains a resource cache to avoid requesting this data from the database. If the instance cache is warm, then there are no database requests to load this data. For the cold cache case, each resource is loaded from the database and stored in the instance cache. | The compatibility and specification data for "Web/CSS/Display" is spread over 100+ resources of 8 types (Browsers, Versions, Features, etc.). The '''Data API''' maintains a resource cache to avoid requesting this data from the database. If the instance cache is warm, then there are no database requests to load this data. For the cold cache case, each resource is loaded from the database and stored in the instance cache. |
edits