关于主题名称的最佳做法是什么

What is the best practise concerning topic names

关于使用 google-pubsub 的主题名称的最佳做法是什么。

如果我有这些事件:

关于主题名称的最佳做法是什么:

或其他..

关于主题的决定实际上取决于用例。如果您的整个系统架构在 customer/article 或 created/updated/deleted 之间有明确的划分,那么按照相同的路线划分主题可能是有意义的。如果不是,那么拆分成多个主题可能用处不大。

确定如何进行拆分的一种方法是考虑每条消息的类型。如果您拆分所有这些主题,它们是否都具有相同类型的消息(可能是 "event" 消息)或者消息类型是否会有所不同?如果它们不同,那么不同的主题可能有意义。

最有趣的可能是订阅端的行为。同一个订阅者是否会对客户和文章的事件感兴趣,或者他们的订阅者是不同的? create/delete/update 呢?沿着这些路线分裂听起来不太可能。如果所有订阅者都对所有消息感兴趣,那么单个主题可能是合理的。否则,订阅者将不得不接收来自多个订阅者的消息。如果一些订阅者对消息的子集感兴趣,那么单独的主题(因此,单独的订阅)可能是有益的。否则,订阅者将不得不查看所有消息并立即确认他们不感兴趣的消息,因为 Google Cloud Pub/Sub 目前不支持过滤。如果它是混合的,那么它是对所有消息感兴趣的订阅者的复杂性(使用不同的主题)和对子集感兴趣的订阅者的复杂性(使用相同的主题并且必须过滤)之间的权衡。