Event Hub可扩展性:能否支持每日数百万发布者创建与撤销
Azure Event Hub 高频发布者增删操作能力说明
直接给结论:Event Hub原生的发布者策略功能不支持每日数百万级别的发布者创建、撤销操作,这不是该功能的设计目标。
- 从服务配额和设计定位来看,发布者策略是面向长期稳定的发布者身份做访问管控的功能,它的管控面操作(创建、删除、更新发布者策略)有严格的限流阈值:单Event Hub命名空间下的这类管控操作默认配额仅为每小时千次级,换算下来每日可支撑的操作量仅在万级,和百万级的需求差了两个数量级。如果强行高频调用这类接口,会直接触发429限流错误,甚至可能影响同命名空间下其他正常管控操作的执行。
- 如果你的业务确实需要支撑每日数百万级别的动态发布者创建、撤销管控,不要直接调用发布者策略的管控接口实现,可以采用两类更适配高动态场景的方案:
- 采用短时效SAS令牌签发方案:你可以在自有业务服务侧维护发布者的身份状态,给合法的发布者签发有效期较短(比如15分钟到1小时)的Event Hub访问SAS令牌,当需要撤销某个发布者权限时,只要不再给它签发新的有效令牌即可,等旧令牌过期它就自然失去访问权限。整个流程完全不需要调用Event Hub的管控面接口,没有相关配额限制,完全可以支撑百万级以上的日发布者管控需求。
- 增设前置鉴权网关:如果需要实时的权限吊销能力,可以在Event Hub前部署一层自己的业务网关,所有发布请求先到网关做身份合法性校验,校验通过后再转发到Event Hub。发布者的创建、撤销逻辑完全在自有业务侧实现,性能上限由你自己的网关集群能力决定,不受Event Hub侧的管控配额约束。
补充说明:你查阅的官方功能文档没有标注这个配额,是因为发布者策略的管控操作属于Azure资源管控面的通用限流范畴,这类管控面限流规则统一放在Event Hub的服务配额文档中,没有在功能介绍页单独说明。
内容的提问来源于stack exchange,提问作者waterbear
相关产品推荐
相关产品推荐

