Topics
A topic is an append-only log split into partitions. Create one when a new event type needs its own retention and ordering key — don't reuse an existing topic for an unrelated event.
All topics
| Topic | Partitions | Key | Retention | Size |
|---|---|---|---|---|
| orders.updated | 12 | order_id | 7 days | 340 GB |
| billing.charged | 6 | account_id | 90 days | 1.1 TB |
| audit.trail | 24 | actor_id | 365 days | 4.8 TB |
| notify.outbound | 8 | recipient_id | 3 days | 62 GB |
| search.reindex | 4 | doc_id | 1 day | 9 GB |
| fraud.signals | 6 | account_id | 30 days | 210 GB |
Creating a topic
Requested through the internal catalog, not self-service — partition count is fixed at creation, and reshaping later means every consumer group re-reads from scratch.
topic: notify.outbound
partitions: 8
key: recipient_id
retention: 3d
replication: 3
Choosing a partition key
- Pick a key with enough distinct values to spread load — one hot key pins one partition.
- Ordering only holds within a key, so pick the field your consumer actually needs in order.
- Changing the key later is a new topic, not a migration — old and new order aren't comparable.