Subject Naming Strategy
How schemas are keyed in a registry — per topic, per record type, or both — which determines whether one topic may carry several event types.
TopicName strategy keys the schema by topic, so a topic holds exactly one schema. Simple, and it
forbids putting related event types on the same topic — which is a real constraint when
OrderPlaced, OrderShipped and OrderCancelled need to preserve ordering relative to each other and
therefore belong on one topic.
RecordName keys by the record type, so one schema is shared across topics and a topic may carry several types. Loses per-topic evolution control.
TopicRecordName combines both, allowing several types per topic while keeping compatibility scoped to that topic. Usually the right answer when a topic represents an entity's event stream.
The decision matters because ordering is per partition per topic: splitting an entity's events across topics gives up the ability to process them in order, which is often the reason they were on one topic to begin with.