【Kafka】Quota配额命令、文档相关概念
一、多租赁模式
基于 Zookeeper和 kafka-configs.sh 管理所有用户
1、步骤
l 基于zookeeper,实现用户管理
l 配置broker认证信息,并进行平滑更新
l 配置client认证信息(通过java api)
2、其他概念
ACL:
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。
用于通信流量的控制
监听器同时配置无认证的9092和有认证的9093端口,注意对于kafka内部资源无任务ACL时才允许9092
Kafka内部资源包括读写topic和consumer group的读
二、Quotas--限额/资源配额
1、说明
对于认证的kafka,可以使用userId和clientId进行认证,否则只能通过clientId限流
配置选项:生产者、消费者、CPU百分比
可以实现:followers拉取leader副本的速率以及……
三个层级上设置配额:userId和clientId以及二者组合
2、配置命令
配置user+client:bin/kafka-configs.sh --zookeeper 172.31.96.165:2181/jhliu20 --alter --add-config 'producer_byte_rate=1048576,consumer_byte_rate=1048576' --entity-type users --entity-name alice --entity-type clients --entity-name clientA
配置user:bin/kafka-configs.sh --zookeeper 172.31.96.165:2181/jhliu20 --alter --add-config 'producer_byte_rate=1048576,consumer_byte_rate=1048576' --entity-type users --entity-name alice
配置client:bin/kafka-configs.sh --zookeeper 172.31.96.165:2181/jhliu20 --alter --add-config 'producer_byte_rate=1048576,consumer_byte_rate=1048576' --entity-type clients --entity-name clientA
3、超额处理
生产者超额:追加log,记录延时时间
消费者超额:延时到期后再去log读取
验证:超出限流后,broker采取抛弃策略
三、kafka官方文档
0、官网介绍
组成:
1快速入门、
2常用API(需要导入的maven包)、
3配置(不同的属性参数配置描述)、
4设计(ISR、log压缩、配额※--延迟响应)、
5实施(消息格式记录头、集群结构等)、
6常见操作(多租户)、
7安全(SASL+SCRAM、授权和ACL)、7.3节内容
8kafka连接(一些关于Java连接的函数操作)、
9kafka流
2、需要深入了解的知识
l SCRAM的256和512含义及SCRAM的配置等
l 基于SCRAM的多租户实现
l 基于zookeeper的用户管理实现
l JAAS及ACL的配置及添加
l Client的配置
l 配额Quotas的配置及超额的处理
3、名词解释
l Quotas:配额,控制客户端使用的代理资源,避免流量超过阈值从而降低用户体验
l SASL:Simple Authentication and Security Layer,简单认证和安全层,是一种安全机制,可以使用SASL_SSL 和SASL_PLAINTEXT 安全协议(安全认证的明文、安全认证的套接字)
n PLAINTEXT:明文/纯文本,在broker客户端配置kafka_server_jaas.conf认证信息
n SSL:Secure Sockets Layer,安全套接字协议
l SCRAM:Salted Challenge Response Authentication Mechanism,盐化的质询响应认证机制,可以不用重启就能新增用户,与PLAIN是两种常用的权限认证方式
n 配合安全传输层协议TLS,Transport Layer Security
n 通过 SCRAM-SHA-256和SCRAM-SHA-512两种安全认证方式配合TLS完成安全权限认证
n Creating SCRAM Credentials,创建安全认证
l JAAS:Java Authentication and Authorization Service,Java认证和授权服务,需要在客户端中配置kafka_client_jaas.conf文件,配置明文认证信息KafkaClient
l ACL:用户权限控制/访问控制列表,一种权限认证方式,需要配置allow.everyone.if.no.acl.found=true【如果无ACL权限控制,就允许任意用户进行访问】
l Multi-tenancy:多租户,用户空间、集群共享,权限认证
l 关系:SASL(_PLAINTEXT)安全认证,需要先配置broker和client的JAAS文件,针对不同的SASL认证方式(SSL/PLAINTEXT),又分别都可以使用PLAIN(只需要配置jaas即可)/SCRAM(包含两种安全认证/加密方式,配置jaas+命令行添加配置)进行加密【jaas+命令行】
【Kafka】Quota配额命令、文档相关概念的更多相关文章
- kafka集群搭建文档
kafka集群搭建文档 一. 下载解压 从官网下载Kafka,下载地址http://kafka.apache.org/downloads.html 注意这里最好下载scala2.10版本的kafka, ...
- Git教程(2)官方命令文档及常用命令表
http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 1,官方命令文档 http://www.git-scm.com/do ...
- 09 Command Documentation 命令文档
Command Documentation 命令文档 There is a suite of programs to build and process Go source code. Inste ...
- 500 多个 Linux 命令文档搜索
500 多个 Linux 命令文档搜索 搜索界面:https://wangchujiang.com/linux-command/ 源码:https://github.com/jaywcjlove/li ...
- 环境变量PATH/cp命令/mv命令/文档查看cat/more/less/head/tail
2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail which rmdir 可以查到命令的路径 例如: ls 命令是 ...
- 常用 Git 命令文档和命令
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3IAAAEVCAIAAAAq20B9AAAgAElEQVR4nOydd3wUxfvH93p6gQRCCF ...
- Linux基础入门级命令文档
Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [root@node01 ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么 ...
- kafka集群部署文档(转载)
原文链接:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候 ...
- ELK+filebeat、kafka、zookeeper搭建文档
系统:centos 6.5 JDK:1.8 Elasticsearch-6.0.0Logstash-6.0.0kibana-6.0.0zookeeper-3.5.3kafka_2.12-1.0.0fi ...
- Markdown 文档生成工具
之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协 ...
随机推荐
- Elasticsearch:Index生命周期管理入门
如果您要处理时间序列数据,则不想将所有内容连续转储到单个索引中. 取而代之的是,您可以定期将数据滚动到新索引,以防止数据过大而又缓慢又昂贵. 随着索引的老化和查询频率的降低,您可能会将其转移到价格较低 ...
- SkyWalking简要介绍
什么是 SkyWalking 分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s.Mesos)架构而设计.提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化 ...
- FastDFS配置文件思维导图(内含各配置文件详细参数说明)
- 第四章:Django表单 - 2:Django表单API详解
声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...
- Elasticsearch:使用 GeoIP 丰富来自内部专用 IP 地址
转载自:https://blog.csdn.net/UbuntuTouch/article/details/108614271 对于公共 IP,可以创建表来指定 IP 属于哪个城市的特定范围.但是,互 ...
- C#-9 委托
一 什么是委托 可以认为委托是持有一个或多个方法的对象.可以执行委托,执行时委托会执行它所持有的方法. 从C++的角度理解,委托可以看成一个类型安全.面向对象的C++函数指针. delegate vo ...
- Django 之ModelAdmin对象
一.后台管理系统配置 1 在该表对应的models类里面添加一个Meta类 class Meta: verbose_name_plural = '用户表' #指定该表在admin后台的名字为:用户表 ...
- SqlKata - 方便好用的 Sql query builder
SqlKata查询生成器是一个用C# 编写的功能强大的Sql查询生成器.它是安全的,与框架无关.灵感来源于可用的顶级查询生成器,如Laravel Query Builder和 Knex. SqlKat ...
- PHP全栈开发(八):CSS Ⅳ 文本格式及字体
文本系列属性主要是设置文本格式的,例如.... 颜色 body {color:red;} h1 {color:#00ff00;} p.ex {color:rgb(0,0,255); 可以设置文本的居中 ...
- bat批处理命令语法总结
::1. 关闭回显表示不显示命令本身只显示输出部分 @echo off ::2. 设置变量注意等号间不能有空格 set num=10 ::3. 使用变量 echo %num% ::4. call 调用 ...