对于Azure事件集线器1,虽然put unit等于1MB / sec ingress。因此它可能需要1000条1 KB的消息。如果我选择5个或更多吞吐量单位,我能够用4个分区摄取5000个消息/秒的1KB大小吗?在那种情况下,出口会是什么?我不确定Event Hub分区的限制,我读到它也是1MB /秒。但那是否意味着有效地使用事件中心我需要具有相同数量的分区?
答案 0 :(得分:16)
伟大的Qstn!
<强> Few Basics 强>
1 ThruPut Unit(特此,我将称之为TU) - 表示1 MB /秒或1000毫秒/秒 - 以先发生者为准。 您支付TU =&gt;您可以根据负载要求更改TU 。这是比尔的旋钮。
单独地,每个分区以1 MB /秒或1000 msgs /秒的入口进行CAP(也称为MAX'ed out) - 以先发生者为准。虽然,有时您可能会在负载较少的地区获得幸运 - 这是Azure EventHubs服务提供的唯一保证。在决定否时考虑这些原则。 eventhub中的分区为您的服务:
另外,最重要的一点是, TU在命名空间级别配置。而且,ONE Event Hubs命名空间可以有多个eventhub。每个eventhub可以有不同的号码。分区。
答案 :
如果您在命名空间中选择5个或更多TU并且只有1个具有4个分区的EventHub,您将获得最大值。 4 MBPS或4K msgs / sec。
出口最多将是Ingress的2倍(8 MBPS或8K msgs / sec)。换句话说,您可以通过创建consumergroups来创建2种接收模式(慢速和快速等) - 描绘您的接收模式。如果您需要超过2X并行接收 - 那么您将需要更多的TU。
是的,每个EventHubs分区限制为1 TU(1 MBPS或1K Msgs / sec)。
是。理想情况下,您需要比TU更多的分区。首先,如上所述为您的分区计数建模。在开发解决方案时,请从1 TU开始。完成后,当您进行负载测试或上线时,增加TU以调整负载。请记住,您可以在命名空间中拥有多个eventhub。因此,在命名空间级别拥有20个TU,每个拥有4个分区的10个eventhub,可以在命名空间中提供20 MBPS。
答案 1 :(得分:2)
一个分区转到一个TPU。将TPU视为处理引擎。您不能利用比分区更多的TPU。如果您有4个分区,则不能使用4个以上的TPU。
由于以下原因,通常有比TPU更多的分区
对于吞吐量,限制为1 MB ingerss /每个TPU 2 MB出口。这涵盖了典型情况,即每个事件都被发送到冷存储(例如数据库)和流分析或事件处理器以进行分析,监控等。