Azure 事件中心消息保留似乎不起作用
Azure Event Hub message retention doesn't seem to work
我们在发送到我们中心的事件中包含日期。每当我将一个新的 Azure 函数连接到我们的事件中心和一个新的消费者组时,它似乎会收到所有发送到该中心的事件。这在某种程度上是意料之中的,但是我将集线器上的消息保留设置为 1 天,所以我预计最多会为新消费者收到一天的事件,但它似乎收到 all 事件,甚至几个月前的事件,基于消息中的日期,以及比我们一天生成的事件更多的事件。
基于此页面:
https://blogs.msdn.microsoft.com/servicebus/2015/03/09/data-retention-in-event-hubs/
这个保留期似乎有些无关紧要,或者具有误导性。如果 "container" 还没有填满,它可能永远包含消息。例如,如果容器在事件中心查看它之前有 1000 条消息的限制,但生成 1000 条消息需要一年时间,这是否意味着任何新消费者都可以获得一年前的消息,即使是 1 天"retention period"?
当容器确实达到 1000 条消息的限制时,是否丢弃超过 1 天的消息并保留超过 1 天前(保留期内)的消息?还是整个容器都被丢弃了?
从我们的测试和生产环境来看,这个容器似乎适合至少 50000 条消息(或同等大小)。
检查点是限制新消费者群体的初始消息涌入的唯一方法吗?
保留时间是保证的最短期限,而不是最长或准确的时间。保留 1 天意味着您将拥有前一天的所有消息,但可能还会有更多消息。
因此您可以依靠 1 天的保留时间,但也要准备好查看较旧的消息。
我们在发送到我们中心的事件中包含日期。每当我将一个新的 Azure 函数连接到我们的事件中心和一个新的消费者组时,它似乎会收到所有发送到该中心的事件。这在某种程度上是意料之中的,但是我将集线器上的消息保留设置为 1 天,所以我预计最多会为新消费者收到一天的事件,但它似乎收到 all 事件,甚至几个月前的事件,基于消息中的日期,以及比我们一天生成的事件更多的事件。
基于此页面:
https://blogs.msdn.microsoft.com/servicebus/2015/03/09/data-retention-in-event-hubs/
这个保留期似乎有些无关紧要,或者具有误导性。如果 "container" 还没有填满,它可能永远包含消息。例如,如果容器在事件中心查看它之前有 1000 条消息的限制,但生成 1000 条消息需要一年时间,这是否意味着任何新消费者都可以获得一年前的消息,即使是 1 天"retention period"?
当容器确实达到 1000 条消息的限制时,是否丢弃超过 1 天的消息并保留超过 1 天前(保留期内)的消息?还是整个容器都被丢弃了?
从我们的测试和生产环境来看,这个容器似乎适合至少 50000 条消息(或同等大小)。
检查点是限制新消费者群体的初始消息涌入的唯一方法吗?
保留时间是保证的最短期限,而不是最长或准确的时间。保留 1 天意味着您将拥有前一天的所有消息,但可能还会有更多消息。
因此您可以依靠 1 天的保留时间,但也要准备好查看较旧的消息。