查看最新的(v0.10)Kafka Consumer 文档:
" 消费者的位置给出了下一条记录的偏移量.它将大于消费者在该分区中看到的最高偏移量.它会在每次消费者接收数据呼叫时自动前进(长)并收到消息."
有没有办法查询服务器端分区可用的最大偏移量,而不检索所有消息?
我试图实现的逻辑如下:
我的动机是我需要进行一些批处理,但我希望处理器只在有足够的数据时唤醒(而且我不想两次检索所有数据).
考虑到 Orion Context Broker 的“生产”使用,我想知道 Orion Context Broker 在消息传递方面提供了什么样的保证——无论是从生产者还是消费者的角度来看?特别是,要记住各种可能的故障场景(CB 故障/重启、网络瞬时故障、消费者故障/重启等),以及 CB 中资源拥塞的可能性。几个例子:
1)如果上下文更新操作成功,是否保证后续查询将返回最新数据(例如,即使CB在确认更新请求后立即失败,然后重新启动)?
2)如果消费者订阅了某些上下文信息,是否保证它将收到所有相关更新——恰好一次,至少一次,甚至根本没有?(例如,CB 和消费者之间出现暂时性网络故障的情况)
3)如果消费者更新了其订阅,是否能保证后续更新能够准确反映它?(例如,如果CB在确认订阅请求后立即失败,然后重新启动)
4)如果消费者订阅了上下文更改(“onchange”,无限制),并且生产者有多个后续更新影响同一属性,是否保证每个更改都将被发送(或者可能会跳过某些更改) -- 例如,由于 CB 在某个时间段内需要发送太多通知),按任何特定顺序?
ETC...
谢谢!