What a catalog service does
The product catalog is the system of record for everything a shopper can buy: titles, descriptions, images, attributes, and category links. It is overwhelmingly read heavy, since millions of shoppers browse for every one merchant edit.
Core design choices
- Denormalized read model: store each product as a single document so a product page is one lookup, not a join across ten tables.
- Aggressive caching: put a cache or CDN in front, because product data changes rarely and is read constantly.
- Search indexing: feed catalog changes into a separate search index rather than querying the database with text filters.
Keeping data fresh
When a merchant edits a product, the write goes to the source database, then an event propagates the change to the cache, the search index, and any downstream services. This is eventual consistency, which is fine because a price seen one second late rarely matters for browsing.
Key idea
The catalog is a read optimized, cache friendly system of record that fans changes out to search and caches through events.