前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka-12.设计-配额

Kafka-12.设计-配额

作者头像
悠扬前奏
发布2019-06-19 18:50:16
5610
发布2019-06-19 18:50:16
举报

Kafka集群能够对请求实施配额,以控制客户端使用的broker资源。 Kafka broker可以为共享配额的每组客户强制执行两种类型的客户配额:

  • 网络带宽配额定义字节速率阈值(自0.9起)
  • 请求速率配额将CPU利用率阈值定义为网络和I / O线程的百分比(自0.11起)
为什么需要配额?

In fact, when running Kafka as a service this even makes it possible to enforce API limits according to an agreed upon contract. 生产者和消费者可能生成/消费非常大量的数据或以非常高的速率生成请求,从而垄断broker资源,导致网络饱和,并且通常是DOS其他客户端和broker本身。有了配额可以防止这些问题,并且在大型多租户群集中更为重要,其中一小部分坏的客户端会降低用户体验。 事实上,当将Kafka作为服务运行时,这甚至可以根据agreed upon 合同强制执行API限制。

客户端组

Kafka客户端的标识是用户主体,它表示安全的集群中经过验证的用户。 在支持未经身份验证的客户端的群集中,用户主体是broker使用可配置的PrincipalBuilder选择的一组未经身份验证的用户。 Client-id是客户端应用程序选择的具有有意义名称的客户端的逻辑分组。 元组(user,client-id)定义了一个共享用户主体和客户机ID的安全逻辑客户端组。 For a given connection, the most specific quota matching the connection is applied. All connections of a quota group share the quota configured for the group. For example, if (user="test-user", client-id="test-client") has a produce quota of 10MB/sec, this is shared across all producer instances of user "test-user" with the client-id "test-client". 配额可以应用于(用户,客户端ID),用户或客户端ID组。 对于给定连接,将应用与连接匹配的最详细的配额。 配额组的所有连接都共享为该组配置的配额。 例如,如果(user =“test-user”,client-id =“test-client”)的生产配额为10MB /秒,则在有着“test-client”作为client-id的用户“test-user”的所有生产者实例之间共享。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么需要配额?
  • 客户端组
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档