1

考虑以下示例:

  • 全球有数以万计的商店需要记录内部流程

  • 对于每个车间位置,必须保留内部流程任务的顺序

  • 没有全球商店列表。流程任务可能从一个位置飞入,而无需事先了解该位置

  • 记录流程任务很关键,不能遗漏任何任务(故障转移)

我的理解是,为了保持每个位置内的流程顺序,我需要为每个商店位置创建一个主题,如下所示:

持久性://public/default/store-san-francisco

对于每个主题,我需要创建一个具有故障转移功能的独家消费者。

问题是,由于我事先不知道位置,为每个未知位置创建临时消费者的最佳方法是什么?

4

2 回答 2

1

Pulsar 的新手,但我的理解是如果一个主题不存在,Broker 会自动创建一个主题。此外,由于您可以从控制台管理实用程序中列出主题,我假设您也可以通过编程方式执行此操作,保持主题/消费者的运行列表,并在出现新主题时创建一个新主题。

于 2019-07-09T14:28:27.950 回答
0

您现在可以使用密钥共享订阅,这将保留给定密钥的顺序。对于您的用例,您可以生产和消费单个store主题,并使用商店名称(例如store-san-francisco)作为键。在消费端,您可以在消息元数据中读取相关存储名称。

于 2022-01-13T11:13:34.753 回答