关于主题名称的最佳做法是什么
What is the best practise concerning topic names
关于使用 google-pubsub 的主题名称的最佳做法是什么。
如果我有这些事件:
- 客户电子邮件已更新
- 客户地址已更新
- 客户创建
- 客户已删除
- 已创建文章
- 文章已删除
...
关于主题名称的最佳做法是什么:
- 创建一个
customer
主题和一个 article
主题,每个主题都包含其领域的事件
- 创建一个
deleted
主题,其中将包含 customer deleted
和 article deleted
等..
- 通过事件
customer:created
、customer:deleted
等创建主题...
或其他..
关于主题的决定实际上取决于用例。如果您的整个系统架构在 customer/article 或 created/updated/deleted 之间有明确的划分,那么按照相同的路线划分主题可能是有意义的。如果不是,那么拆分成多个主题可能用处不大。
确定如何进行拆分的一种方法是考虑每条消息的类型。如果您拆分所有这些主题,它们是否都具有相同类型的消息(可能是 "event" 消息)或者消息类型是否会有所不同?如果它们不同,那么不同的主题可能有意义。
最有趣的可能是订阅端的行为。同一个订阅者是否会对客户和文章的事件感兴趣,或者他们的订阅者是不同的? create/delete/update 呢?沿着这些路线分裂听起来不太可能。如果所有订阅者都对所有消息感兴趣,那么单个主题可能是合理的。否则,订阅者将不得不接收来自多个订阅者的消息。如果一些订阅者对消息的子集感兴趣,那么单独的主题(因此,单独的订阅)可能是有益的。否则,订阅者将不得不查看所有消息并立即确认他们不感兴趣的消息,因为 Google Cloud Pub/Sub 目前不支持过滤。如果它是混合的,那么它是对所有消息感兴趣的订阅者的复杂性(使用不同的主题)和对子集感兴趣的订阅者的复杂性(使用相同的主题并且必须过滤)之间的权衡。
关于使用 google-pubsub 的主题名称的最佳做法是什么。
如果我有这些事件:
- 客户电子邮件已更新
- 客户地址已更新
- 客户创建
- 客户已删除
- 已创建文章
- 文章已删除 ...
关于主题名称的最佳做法是什么:
- 创建一个
customer
主题和一个article
主题,每个主题都包含其领域的事件 - 创建一个
deleted
主题,其中将包含customer deleted
和article deleted
等.. - 通过事件
customer:created
、customer:deleted
等创建主题...
或其他..
关于主题的决定实际上取决于用例。如果您的整个系统架构在 customer/article 或 created/updated/deleted 之间有明确的划分,那么按照相同的路线划分主题可能是有意义的。如果不是,那么拆分成多个主题可能用处不大。
确定如何进行拆分的一种方法是考虑每条消息的类型。如果您拆分所有这些主题,它们是否都具有相同类型的消息(可能是 "event" 消息)或者消息类型是否会有所不同?如果它们不同,那么不同的主题可能有意义。
最有趣的可能是订阅端的行为。同一个订阅者是否会对客户和文章的事件感兴趣,或者他们的订阅者是不同的? create/delete/update 呢?沿着这些路线分裂听起来不太可能。如果所有订阅者都对所有消息感兴趣,那么单个主题可能是合理的。否则,订阅者将不得不接收来自多个订阅者的消息。如果一些订阅者对消息的子集感兴趣,那么单独的主题(因此,单独的订阅)可能是有益的。否则,订阅者将不得不查看所有消息并立即确认他们不感兴趣的消息,因为 Google Cloud Pub/Sub 目前不支持过滤。如果它是混合的,那么它是对所有消息感兴趣的订阅者的复杂性(使用不同的主题)和对子集感兴趣的订阅者的复杂性(使用相同的主题并且必须过滤)之间的权衡。