什么是 azure Event Hub 中的消费者组?
What is Consumer Group in azure Event Hub?
任何人都可以弄清楚什么是 Azure 事件中心中的使用者组。它有什么用?我浏览了很多网站,但无法得到明确的答案。
来自docs:
Consumer groups: A view (state, position, or offset) of an entire
event hub. Consumer groups enable consuming applications to each have
a separate view of the event stream. They read the stream
independently at their own pace and with their own offsets.
图表:
根据这个消费者组是逻辑上分离你的消费者的方式,所以他们只看到他们感兴趣的事件。
将消费者组视为 a label that groups one or more event consumers together 的集合。它通常以消费者在应用程序中的职责命名(例如:“Telemetry”、“OrderProcessing”)。创建事件中心时会创建一个名为“$Default”的默认使用者组。
如之前的回答所述,消费者组允许多个应用程序拥有自己的事件流视图,从而允许每个应用程序以自己的速度独立读取流。例如,您可能有一个将事件数据写入长期存储的下游存储写入器应用程序,然后是另一个执行复杂事件处理的应用程序——这两个应用程序将属于两个不同的使用者组。
由于an Event Hubs consumer is associated with a specific Event Hubs and consumer group,如果在构造EventHubConsumerClient
s时传入同一个消费者组作为参数,那么这些客户端将关联到同一个消费者组(从而对事件消费者进行分组) :
var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
请注意,如果您使用的是标准层服务,则只能有多个使用者组。
在 Azure 事件中心,consumer groups 是一种限制同一分区的并发读取器数量的方法。
它们没有任何实际用途,也许只是一个实用的用途,即引导您避免从同一系统或应用程序多次读取相同的事件。
还有一个定价方面,即要使多个应用程序订阅同一事件流,您可能需要升级到更好的计划(例如,基本计划只允许一个消费者组)。
正如其他人指出的那样,该文档将消费者组解释为“整个事件中心的视图”。然而,这个观点并没有实际意义。
您可以 运行 在单个消费者组上使用 5 个不同的应用程序,但这可能是不切实际的,因为如果您需要的话,这不会扩展到第 6 个应用程序,因为并发限制为 5 个每个消费者组的同一分区的读者。
与 Kafka 消费者群体的比较
Event Hub 消费者组与 Kafka 消费者组完全不同(当您继续阅读主题时会自动存储偏移量)。
此处澄清:https://github.com/Azure/azure-event-hubs-for-kafka#more-faq。
使用 Kafka API 时,事件中心 支持 Kafka 消费者组。
任何人都可以弄清楚什么是 Azure 事件中心中的使用者组。它有什么用?我浏览了很多网站,但无法得到明确的答案。
来自docs:
Consumer groups: A view (state, position, or offset) of an entire event hub. Consumer groups enable consuming applications to each have a separate view of the event stream. They read the stream independently at their own pace and with their own offsets.
图表:
根据这个消费者组是逻辑上分离你的消费者的方式,所以他们只看到他们感兴趣的事件。
将消费者组视为 a label that groups one or more event consumers together 的集合。它通常以消费者在应用程序中的职责命名(例如:“Telemetry”、“OrderProcessing”)。创建事件中心时会创建一个名为“$Default”的默认使用者组。
如之前的回答所述,消费者组允许多个应用程序拥有自己的事件流视图,从而允许每个应用程序以自己的速度独立读取流。例如,您可能有一个将事件数据写入长期存储的下游存储写入器应用程序,然后是另一个执行复杂事件处理的应用程序——这两个应用程序将属于两个不同的使用者组。
由于an Event Hubs consumer is associated with a specific Event Hubs and consumer group,如果在构造EventHubConsumerClient
s时传入同一个消费者组作为参数,那么这些客户端将关联到同一个消费者组(从而对事件消费者进行分组) :
var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
请注意,如果您使用的是标准层服务,则只能有多个使用者组。
在 Azure 事件中心,consumer groups 是一种限制同一分区的并发读取器数量的方法。
它们没有任何实际用途,也许只是一个实用的用途,即引导您避免从同一系统或应用程序多次读取相同的事件。
还有一个定价方面,即要使多个应用程序订阅同一事件流,您可能需要升级到更好的计划(例如,基本计划只允许一个消费者组)。
正如其他人指出的那样,该文档将消费者组解释为“整个事件中心的视图”。然而,这个观点并没有实际意义。
您可以 运行 在单个消费者组上使用 5 个不同的应用程序,但这可能是不切实际的,因为如果您需要的话,这不会扩展到第 6 个应用程序,因为并发限制为 5 个每个消费者组的同一分区的读者。
与 Kafka 消费者群体的比较
Event Hub 消费者组与 Kafka 消费者组完全不同(当您继续阅读主题时会自动存储偏移量)。
此处澄清:https://github.com/Azure/azure-event-hubs-for-kafka#more-faq。
使用 Kafka API 时,事件中心 支持 Kafka 消费者组。