阅读 Apache Pulsar 上的分区主题
Reading partitioned topics on Apache Pulsar
我正在尝试 select 在 pulsar 和 kafka 之间进行 事件 sourcing/cqrs 场景,所以对于这类系统来说,一个非常重要的特性是从某个时间点或偏移量重播消息。
用Kafka很简单,你只需要指明从什么点开始消费,或者干脆从一个起点寻找。
但是 pulsar 的工作方式不同,除了消费者界面它还有另一个称为读取界面的读取界面,用于从起点读取消息,例如 beggining 或 id,但它没有不适用于分区主题。
我的问题是,如何读取 Pulsar 上的分区主题?由于读取接口不适用于分区主题,我可以指定消费者的起点吗?
我正在 nodejs 客户端上测试这些功能,所以如果我因此失去了某些功能,请告诉我
如果您需要从特定分区读取,请在消费者设置主题时输入:
.topic(yourTopicName-partition-N)
其中 yourTopicName
是一个分区主题,N
是需要读取的分区。
在node.js
格式中,它应该是这样的,f.e,如果你想从分区1读取:
const consumer = await client.subscribe({
topic: 'mytopic-partition-1',
subscription: 'my-subscription',
});
我正在尝试 select 在 pulsar 和 kafka 之间进行 事件 sourcing/cqrs 场景,所以对于这类系统来说,一个非常重要的特性是从某个时间点或偏移量重播消息。
用Kafka很简单,你只需要指明从什么点开始消费,或者干脆从一个起点寻找。
但是 pulsar 的工作方式不同,除了消费者界面它还有另一个称为读取界面的读取界面,用于从起点读取消息,例如 beggining 或 id,但它没有不适用于分区主题。
我的问题是,如何读取 Pulsar 上的分区主题?由于读取接口不适用于分区主题,我可以指定消费者的起点吗?
我正在 nodejs 客户端上测试这些功能,所以如果我因此失去了某些功能,请告诉我
如果您需要从特定分区读取,请在消费者设置主题时输入:
.topic(yourTopicName-partition-N)
其中 yourTopicName
是一个分区主题,N
是需要读取的分区。
在node.js
格式中,它应该是这样的,f.e,如果你想从分区1读取:
const consumer = await client.subscribe({
topic: 'mytopic-partition-1',
subscription: 'my-subscription',
});