https://cnr.sh/essays/how-paint-bike-shed-kafka-topic-naming-conventions helped us answering that same question.
As a summary this article suggest to follow similar best practices to naming databases and tables, and it provides these additional points of advice:
- Avoid topic names based on things that change
- Avoid topic names based on information that would be stored in other places
- Avoid topic names based on their planned consumers/producers. This is essentially a special case of the first advice :D.
- Decide casing early on, and consider enforcing it or at least check/monitor it. This way you catch offenders early on.