As a general change propagation mechanism, we plan to emit general resource change events from RESTBase. These will contain a URL of the changed resource, and possibly a flag about the nature of the change (creation, deletion, modification).
These events are then used to propagate changes:
- Purging of caches (Varnish).
- Updates of dependent resources.
In the longer term, this is intended to be aggregated in a Kafka topic. Until that & the associated processing pipeline is available, it might be useful to process those events locally instead. This will let us define and exercise internal interface for such change events without depending on a full change propagation pipeline to be available right away. A simple implementation would emit purge events for all 'modified' or 'deleted' urls. This is over UDP, so won't hold up general request processing.