Repository navigation
RFC 089: record the no-cache decision and throttle limits - #174
Merged
Merged
Conversation
kenoir
approved these changes
Oct 6, 2026
2 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preview
What does this change?
Part of wellcomecollection/platform#6536.
Records the caching decision that followed the Identifiers API load test (results). The RFC proposed an edge cache to keep query volume off the registry, but the test found the registry far from its limit at up to 400 requests a second, and a minting run made no measurable difference at up to 100 requests a second. No cache is placed in front of the API, which also removes the cache-key questions about
x-api-keyand theidDatabasealias.ETagdescription stay, as headers for consumers that keep their own copies.max-agevalues, the form of theETag, and the cost-attribution mechanism) move to a new open question 8, and next step 2 follows them.rfcs/README.md: the listing table is regenerated for the new purpose wording and date.How to test
Read the Caching section and open questions 1 and 8 in the preview.
.scripts/validate_rfc.pyand.scripts/create_table_summary.py --check-readmeboth pass locally.How can we measure success?
The RFC matches what is deployed: no cache in front of the API, and the throttle limits in
terraform/modules/identifiers/usage_plans.tfin catalogue-api.Have we considered potential risks?
Documentation only. The decision rests on a test against the previous production registry, which has half production's capacity, with a minter replay that only read. The Caching section names the conditions for revisiting it.
Generated with Claude Code