最初我以为您可以将主题视为微服务。例如,您可能有以下主题:
- 订单主题
- 发票主题
当一个应用程序发布一个“事件”ProductOrderedEvent
时,所有对此事件感兴趣的主题都可以订阅它。所以它看起来像这样:
- 订单主题
- ProductOrderedEvent
- 其他事件
- 发票主题
- ProductOrderedEvent
- SomeOtherInvoiceEvent
- 等等
但是当我尝试发布一个事件(或者消息)时,我必须明确地命名我想要将事件发布到的主题。所以我想我对“主题”一词的看法是错误的。
我只是想按上下文按代码分组。关于产品的一切都应该存在于 中ProductsTopic
,关于订单的一切都应该存在于OrdersTopic
etc中。
但我不想在我的代码中明确命名每个主题。我只想发布一个事件,对此事件感兴趣的任何主题的订阅者应该能够选择这个事件。
是否可以将事件/消息发布到简单的所有主题而不明确命名它们?或者我应该简单地将我的主题命名为“MyOrganizationName”并将所有订阅者都放在那里?