第 3 章 消费者配置属性
key.deserializertype: class
Importance: high
Deserializer 类用于实现
org.apache.kafka.common.serialization.Deserializer接口的关键。value.deserializertype: class
Importance: high
Deserializer 类用于实现
org.apache.kafka.common.serialization.Deserializer接口的值。bootstrap.serverstype: list
Default: ""
Valid Values: non-null string
Importance: high
用于建立到 Kafka 集群的初始连接的主机/端口对列表。客户端将使用此处为 bootstrap 指定了哪些服务器的所有服务器 - 此列表仅影响用于发现全部服务器集的初始主机。此列表应当采用
host1:port1,host2:port2,…的形式。由于这些服务器仅用于初始连接,以发现完整的群集成员身份(可能会动态更改),因此该列表不包含完整的服务器集合(尽管服务器停机时,您可能需要多个服务器)。fetch.min.bytestype: int
Default: 1
Valid Values: [0,…]
Importance: high
服务器应返回获取请求的最小数据量。如果数据不足,请求会等待大量数据在回答请求前等待累积数据。默认设置为 1 字节意味着,获取请求一旦有单一字节数据可用,或获取请求超时等待数据到达时立即回答。将其设置为大于 1 的对象将会导致服务器等待大量数据累积,从而以某些额外延迟的成本提高服务器吞吐量。
group.idtype: string
Default: null
Importance: high
此使用者所属的标识消费者组的唯一字符串。如果使用者使用 subscription
(topic)或基于 Kafka 的偏移管理策略,则需要此属性。heartbeat.interval.mstype: int
Default: 3000 (3 秒)
Importance: high
使用 Kafka 的组群管理工具时,心跳到消费者协调器之间的预期时间。心跳用于确保消费者的会话保持活跃状态,并在新消费者加入或离开该组时促进重新平衡。该值必须小于
session.timeout.ms,但通常设置的值通常不应超过 1/3。它可以被调整,以便控制正常重新平衡的预期时间。max.partition.fetch.bytestype: int
Default: 1048576(1 mebibyte)
Valid Values: [0,…]
Importance: high
服务器的每个分区中要返回的最大数据量。记录在批处理中由消费者获取。如果获取的第一个非空分区中的第一个记录批处理大于这个限制,则批处理仍将返回,以确保消费者能够进行进度。代理接受的最大记录批处理大小通过
message.max.bytes(broker config)或max.message.bytes(topic 配置)定义。有关限制消费者请求大小,请参阅 fetch.max.bytes。session.timeout.mstype: int
Default: 45000(45 秒)
Importance: high
在使用 Kafka 的组管理工具时,用于检测客户端失败的超时时间。客户端发送定期心跳,以指示其对代理的存活度。如果在这个会话超时前代理没有收到 heartbeat,则代理会从组中删除此客户端并启动重新平衡。请注意,该值必须在代理配置中由
group.min.session.timeout.ms和group.max.session.timeout.ms配置中的允许范围内配置。ssl.key.passwordtype: password
Default: null
Importance: high
密钥存储文件或在"ssl.keystore.key"中指定的 PEM 密钥的密码。只有在配置了双向验证时,客户端才需要这样做。
ssl.keystore.certificate.chaintype: password
Default: null
Importance: high
使用由 'ssl.keystore.type" 指定的格式的证书链。默认 SSL 引擎工厂仅支持使用 X.509 证书列表的 PEM 格式。
ssl.keystore.keytype: password
Default: null
Importance: high
使用 'ssl.keystore.type" 指定的格式的私钥。默认 SSL 引擎工厂只支持使用 PKCS#8 密钥的 PEM 格式。如果密钥已加密,则必须使用 'ssl.key.password' 指定密钥密码。
ssl.keystore.locationtype: string
Default: null
Importance: high
密钥存储文件的位置。对于客户端,这是可选的,可用于客户端双向身份验证。
ssl.keystore.passwordtype: password
Default: null
Importance: high
密钥存储文件的存储密码。对于客户端,这是可选的,只有在配置了 'ssl.keystore.location' 时才需要。PEM 格式不支持密钥存储密码。
ssl.truststore.certificatestype: password
Default: null
Importance: high
可信证书,格式为 'ssl.truststore.type'。默认 SSL 引擎工厂仅支持使用 X.509 证书使用 PEM 格式。
ssl.truststore.locationtype: string
Default: null
Importance: high
信任存储文件的位置。
ssl.truststore.passwordtype: password
Default: null
Importance: high
信任存储文件的密码。如果没有设置密码,则仍然将使用配置的信任存储文件,但会禁用完整性检查。信任存储密码不支持 PEM 格式。
allow.auto.create.topicstype: boolean
Default: true
Importance: medium
在订阅某个主题或分配主题时,允许在代理上创建自动主题。只有在代理允许使用
auto.create.topics.enablebroker 配置时,才会自动创建要订阅的主题。当使用早于 0.11.0 的代理时,此配置必须设置为false。auto.offset.resettype: string
Default: latest
Valid Values: [latest, earliest, none]
Importance: medium
当 Kafka 中没有初始偏移,或者服务器中不存在当前的偏移量时(例如,因为删除了这些数据,则应该怎么办):
- earliest:自动将偏移重置为最早的偏移
- latest:自动将偏移重置为最新偏移
- none:为使用者组发现之前误差,则抛出异常
- 任何其他对象:给消费者引发异常。
client.dns.lookuptype: string
Default: use_all_dns_ips
Valid Values: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
控制客户端如何使用 DNS 查找。如果设置为
use_all_dns_ips,则按顺序连接到每个返回的 IP 地址,直到建立成功连接为止。断开连接后,将使用下一个 IP。使用完所有 IP 后,客户端会从主机名再次解析 IP(JVM 和 OS 缓存 DNS 名称查找)。如果设置为resolve_canonical_bootstrap_servers_only,将每个 bootstrap 地址解析为规范名称列表。在 bootstrap 阶段后,这个行为与use_all_dns_ips相同。connections.max.idle.mstype: long
Default: 540000 (9 分钟)
Importance: medium
在此配置指定的毫秒数后关闭闲置连接。
default.api.timeout.mstype: int
Default: 60000(1 minute)
Valid Values: [0,…]
Importance: medium
指定客户端 API 的超时(以毫秒为单位)。此配置用作所有没有指定
超时参数的客户端操作的默认超时时间。enable.auto.committype: boolean
Default: true
Importance: medium
如果为 true,则使用者的偏移将定期在后台提交。
exclude.internal.topicstype: boolean
Default: true
Importance: medium
与订阅模式匹配的内部主题是否应该不包括在订阅中。始终可以明确订阅内部主题。
fetch.max.bytestype: int
Default: 52428800(50 mebibytes)
Valid Values: [0,…]
Importance: medium
服务器应返回获取请求的最大数据量。记录在消费者的批处理中,如果获取的第一个非空分区中超过这个值,则记录批处理仍将返回,以确保使用者能够进行进展。因此,这不是绝对最大值。代理接受的最大记录批处理大小通过
message.max.bytes(broker config)或max.message.bytes(topic 配置)定义。请注意,使用者并行执行多个获取。group.instance.idtype: string
Default: null
Importance: medium
由最终用户提供的消费者实例的唯一标识符。只允许非空字符串。如果设置,使用者被视为静态成员,这意味着任何时候都只允许具有此 ID 的实例。这可与较大的会话超时结合使用,以避免出现临时不可用(如进程重启)导致的重新平衡问题。如果没有设置,消费者会将该组加入为动态成员,这是传统行为。
isolation.leveltype: string
Default: read_uncommitted
Valid Values: [read_committed, read_uncommitted]
Importance: medium
控制如何读取事务写入的消息。如果设置为
read_committed,则 consumer.poll()将只返回已提交的事务信息。如果设置为read_uncommited(默认值),则 consumer.poll()将返回所有消息,甚至已中止的事务消息。在任一模式下,非事务性消息都会无条件地返回。消息始终以偏移顺序返回。因此,在
read_committed模式下,consumer.poll()仅会将消息返回到最后稳定偏移(LSO),这比第一个开放事务的偏移小。在相关事务完成后,属于持续事务的消息后会出现任何信息。因此,当发生机交易时,read_committed的客户将无法读取到高水位线。Further, when in `read_committed` the seekToEnd method will return the LSO .
max.poll.interval.mstype: int
Default: 300000 (5 分钟)
Valid Values: [1,…]
Importance: medium
使用消费者组管理时调用 poll()之间的最大延迟。这样一来,在获取更多记录前,可以闲置这个时间。如果在此超时的过期前没有调用 poll(),则消费者被视为失败,组将重新平衡,以将分区重新分配给另一个成员。对于使用非null
group.instance.id(达到此超时)的用户,分区不会被立即重新分配。相反,消费者将停止发送 heartbeat,分区将在session.timeout.ms过期后重新分配。这会镜像已关闭的静态消费者的行为。max.poll.recordstype: int
Default: 500
Valid Values: [1,…]
Importance: medium
单个调用中返回到 poll()中的最大记录数。请注意,
max.poll.records不会影响底层获取行为。使用者将缓存来自每个获取请求的记录,并从每个轮询逐步返回记录。partition.assignment.strategytype: list
Default: class org.apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.C teamingStickyAssignor
Valid Values: non-null string
Importance: medium
类名称或类类型的列表,按首选项排序,客户端将使用这些分区分配策略在消费者实例之间分发在使用组管理时在消费者实例之间分发分区所有权。可用的选项有:
-
org.apache.kafka.clients.consumer.RangeAssignor: Assigns 分区基于各个主题。 -
org.apache.kafka.clients.consumer.Round SDinAssignor : 以轮循方式将分区分配给消费者。 -
org.apache.kafka.clients.consumer.StickyAssignor: Guarantee 分配一个最大平衡的分配,同时尽可能保留很多现有分区分配。 org.apache.kafka.clients.consumer.C teamingStickyAssignor: Follows same StickyAssignor 逻辑,但允许合作重新平衡。默认分配器为 [RangeAssignor, C teamingStickyAssignor],它默认使用 RangeAssignor,但允许升级到 C collaborativeStickyAssignor,它只是一个滚动退回,从列表中删除 RangeAssignor。
通过实施
org.apache.kafka.clients.consumer.ConsumerPartitionAssignor接口,您可以插入自定义分配策略。
-
receive.buffer.bytestype: int
Default: 65536(64 kibibytes)
Valid Values: [-1,…]
Importance: medium
在读取数据时要使用的 TCP 接收缓冲区(SO_RCVBUF)的大小。如果值为 -1,则使用 OS 默认。
request.timeout.mstype: int
Default: 30000 (30 秒)
Valid Values: [0,…]
Importance: medium
配置控制客户端等待请求响应的最大时间。如果在超时前没有收到响应,客户端会在需要时重新发送请求,或者在重试耗尽时失败请求。
sasl.client.callback.handler.classtype: class
Default: null
Importance: medium
实现了 AuthenticateCallbackHandler 接口的 SASL 客户端回调处理器类的完全限定名称。
sasl.jaas.configtype: password
Default: null
Importance: medium
JAAS 登录上下文参数,用于 SASL 连接,其格式由 JAAS 配置文件使用。此处 介绍了 JAAS 配置文件格式。该值格式为:
loginModuleClass controlFlag(optionName=optionValue)*;.对于代理,配置必须在小写中带有监听前缀和 SASL 机制名称前缀。例如: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule;.sasl.kerberos.service.nametype: string
Default: null
Importance: medium
Kafka 运行的 Kerberos 主体名称。这可以在 Kafka 的 JAAS 配置或 Kafka 配置中定义。
sasl.login.callback.handler.classtype: class
Default: null
Importance: medium
实现了 AuthenticateCallbackHandler 接口的 SASL 登录回调处理器类的完全限定名称。对于代理,登录回调处理器配置必须以监听器前缀和 SASL 机制名称作为前缀作为前缀。例如: listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler。
sasl.login.classtype: class
Default: null
Importance: medium
实施登录接口的类的完全限定名称。对于代理,登录配置必须在小写中带有监听前缀和 SASL 机制名称前缀。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.
sasl.mechanismtype: string
Default: GSSAPI
Importance: medium
用于客户端连接的 SASL 机制。这可以是提供安全提供程序的任何机制。GSSAPI 是默认机制。
sasl.oauthbearer.jwks.endpoint.urltype: string
Default: null
Importance: medium
可以检索来自提供程序的 JWKS(JSON Web Key Set) 的 OAuth/OIDC 供应商 URL。URL 可以是基于 HTTP(S)或基于文件的。如果 URL 基于 HTTP(S),则 JWKS 数据将通过代理启动时配置的 URL 从 OAuth/OIDC 供应商中检索。所有 then-current 密钥将缓存在代理中,用于传入请求。如果为 JWT 收到身份验证请求,如果包含尚未在缓存中但未包括在缓存中的"kid"标头声明值,则将根据需要再次查询 JWKS 端点。但是,代理会在收到任何 JWT 请求前轮询每个 sasl.oauthbearer.jwks.endpoint.refresh.ms 毫秒的 URL 来刷新缓存。如果 URL 是基于文件,代理将从启动时配置的位置载入 JWKS 文件。如果 JWT 包含不在 JWKS 文件中的"kid"标头值,代理将拒绝 JWT 和身份验证。
sasl.oauthbearer.token.endpoint.urltype: string
Default: null
Importance: medium
OAuth/OIDC 身份提供程序的 URL。如果 URL 基于 HTTP(S),则代表签发者的令牌端点 URL,请求将基于 sasl.jaas.config 中的配置进行登录。如果 URL 基于文件,它将指定包含由 OAuth/OIDC 身份提供程序发布的访问令牌(在 JWT 序列化表单中)的文件用于授权。
security.protocoltype: string
Default: PLAINTEXT
Importance: medium
用于与代理通信的协议。有效值为:PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL.
send.buffer.bytestype: int
Default: 131072(128 kibibytes)
Valid Values: [-1,…]
Importance: medium
在发送数据时要使用的 TCP 发送缓冲区(SO_SNDBUF)的大小。如果值为 -1,则使用 OS 默认。
socket.connection.setup.timeout.max.mstype: long
Default: 30000 (30 秒)
Importance: medium
客户端等待套接字连接建立的最大时间。对于每个连续的连接失败,连接设置超时将按这个最大值增加。为避免连接 storms,则 0.2 的随机化工厂将应用到超时,从而导致计算值上面的 20% 到 20% 的随机范围。
socket.connection.setup.timeout.mstype: long
Default: 10000 (10 秒)
Importance: medium
客户端等待套接字连接建立的时间。如果在超时前没有构建连接,客户端将关闭套接字频道。
ssl.enabled.protocolstype: list
Default: TLSv1.2,TLSv1.3
Importance: medium
为 SSL 连接启用的协议列表。使用 Java 11 或更新版本运行时,默认值为 'TLSv1.2,TLSv1.3',否则为 'TLSv1.2'。使用 Java 11 的默认值时,如果客户端和服务器同时支持 TLSv1.3,则客户端和服务器将首选 TLSv1.3,否则将回退到 TLSv1.2(假设这两个支持至少支持 TLSv1.2)。在大多数情况下,这个默认设置应该是正常的。另请参阅
ssl.protocol的配置文档。ssl.keystore.typetype: string
Default: JKS
Importance: medium
密钥存储文件的文件格式。对于客户端,这是可选的。
ssl.protocoltype: string
Default: TLSv1.3
Importance: medium
用于生成 SSLContext 的 SSL 协议。使用 Java 11 或更新版本运行时,默认值为 'TLSv1.3',否则为 'TLSv1.2'。对于大多数用例来说,这个值应该非常正常。最近 JVM 中允许的值是 'TLSv1.2' 和 'TLSv1.3'。'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 和 'SSLv3' 在以前的 JVM 中可能被支持,但由于已知的安全漏洞,不建议使用它们。使用这个配置和 'ssl.enabled.protocols' 的默认值,如果服务器不支持 'TLSv1.3',客户端将降级为 'TLSv1.2'。如果此配置被设置为 'TLSv1.2',则客户端不会使用 'TLSv1.3',即使它是 ssl.enabled.protocols 中的值之一,服务器仅支持 'TLSv1.3'。
ssl.providertype: string
Default: null
Importance: medium
用于 SSL 连接的安全供应商名称。默认值是 JVM 的默认安全供应商。
ssl.truststore.typetype: string
Default: JKS
Importance: medium
信任存储文件的文件格式。
auto.commit.interval.mstype: int
Default: 5000(5 秒)
Valid Values: [0,…]
Importance: low
如果
enable.auto.commit设为true,则消费者偏移的频率自动给 Kafka。check.crcstype: boolean
Default: true
Importance: low
自动检查所消耗的记录的 CRC32。这样可确保不会对消息发生任何有线或磁盘上的崩溃。这个检查增加了一些开销,因此在寻求性能时可能会禁用它。
client.idtype: string
Default: ""
Importance: low
在发出请求时要传递给服务器的 id 字符串。这样做的目的是通过允许逻辑应用程序名称包含在服务器端请求日志记录中,跟踪超过 ip/port 的请求源。
client.racktype: string
Default: ""
Importance: low
此客户端的机架标识符。这可以是指示此客户端物理位置的任意字符串值。它与代理配置 'broker.rack' 对应。
fetch.max.wait.mstype: int
Default: 500
Valid Values: [0,…]
Importance: low
如果没有足够的数据立即满足通过 fetch.min.bytes 指定的要求,则服务器在回答获取请求前将阻断的最大时间。
interceptor.classestype: list
Default: ""
Valid Values: non-null string
Importance: low
用作拦截器的类列表。通过实施
org.apache.kafka.clients.consumer.ConsumerInterceptor接口,可以截取消费者收到的记录(可能模拟)。默认情况下,没有拦截器。metadata.max.age.mstype: long
Default: 300000 (5 分钟)
Valid Values: [0,…]
Importance: low
毫秒内的时间(以毫秒为单位),即使在我们未看到任何分区领导更改的情况下,也会强制更新元数据,以便主动发现任何新的代理或分区。
metric.reporterstype: list
Default: ""
Valid Values: non-null string
Importance: low
用作指标报告器的类列表。实施
org.apache.kafka.common.metrics.MetricsReporter接口允许在新指标创建通知的类中插入。JmxReporter 始终包含在内以注册 JMX 统计。metrics.num.samplestype: int
Default: 2
Valid Values: [1,…]
Importance: low
为计算指标维护的示例数量。
metrics.recording.leveltype: string
Default: INFO
Valid Values: [INFO, DEBUG, SSP]
Importance: low
指标的最高记录级别。
metrics.sample.window.mstype: long
Default: 30000 (30 秒)
Valid Values: [0,…]
Importance: low
计算指标示例的时间窗口。
reconnect.backoff.max.mstype: long
Default: 1000(1秒)
Valid Values: [0,…]
Importance: low
重新连接到重复连接失败的代理时要等待的最大时间(毫秒)。如果提供,每个主机的 backoff 将为每个连续的连接失败指数增加,最高最高。在计算了 backoff 增长后,会添加 20% 的随机 jitter 来避免连接停滞。
reconnect.backoff.mstype: long
Default: 50
Valid Values: [0,…]
Importance: low
在尝试重新连接给定主机前要等待的基本时间。这可避免在紧张循环中重复连接到主机。这个 backoff 适用于客户端到代理的所有连接尝试。
retry.backoff.mstype: long
Default: 100
Valid Values: [0,…]
Importance: low
尝试重试失败的请求到给定主题分区前等待的时间。这可避免在某些故障情况下在紧密循环中重复发送请求。
sasl.kerberos.kinit.cmdtype: string
Default: /usr/bin/kinit
Importance: low
Kerberos kinit 命令路径.
sasl.kerberos.min.time.before.relogintype: long
Default: 60000
Importance: low
刷新尝试之间的登录线程睡眠时间。
sasl.kerberos.ticket.renew.jittertype: double
Default: 0.05
Importance: low
添加至续订时间的随机jitter 的百分比。
sasl.kerberos.ticket.renew.window.factortype: double
Default: 0.8
Importance: low
登录线程将休眠,直到达到从最后刷新到 ticket 的过期时间,此时它将尝试续订票据。
sasl.login.connect.timeout.mstype: int
Default: null
Importance: low
(可选)外部身份验证供应商连接超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。
sasl.login.read.timeout.mstype: int
Default: null
Importance: low
(可选)外部身份验证提供程序读取超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.buffer.secondstype: short
Default: 300
Valid Values: [0,…,3600]
Importance: low
在刷新凭证时要维护的凭证前的缓冲时间(以秒为单位)。如果刷新将超过缓冲区秒数的过期时间,则刷新将移动至可维护尽可能多的缓冲区时间。如果未指定值,则使用法定值在 0 到 3600(1 小时)之间;如果没有指定值,则使用默认值 300(5 分钟)。如果值和 sasl.login.refresh.min.period.seconds,如果它们的总和超过凭证的剩余生命周期,则都会被忽略。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.min.period.secondstype: short
Default: 60
Valid Values: [0,…,900]
Importance: low
在刷新凭证前等待登录刷新线程所需的最小时间(以秒为单位)。合法值介于 0 到 900(15 分钟)之间;如果没有指定值,则使用默认值 60(1 分钟)。如果值和 sasl.login.refresh.buffer.seconds 都会被忽略,如果它们的总和超过凭证的剩余生命周期。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.window.factortype: double
Default: 0.8
Valid Values: [0.5,…,1.0]
Importance: low
登录刷新线程将休眠,直到达到指定的窗口因素为止(在达到凭证时),它将尝试刷新凭证。法律值介于 0.5(50%)到 1.0(100%)之间,如果未指定值,则使用默认值 0.8(80%)。目前仅适用于 OAUTHBEARER。
sasl.login.refresh.window.jittertype: double
Default: 0.05
Valid Values: [0.0,…,0.25]
Importance: low
相对于凭证的生命周期的最大随机 jitter 量,它们被添加到登录刷新线程睡眠时间。法律值介于 0 到 0.25(25%)之间(25%),如果没有指定值,则使用默认值 0.05(5%)。目前仅适用于 OAUTHBEARER。
sasl.login.retry.backoff.max.mstype: long
Default: 10000 (10 秒)
Importance: low
(可选)登录尝试外部身份验证提供程序之间等待的最长这个值(可选)值(以毫秒为单位)。登录使用 sasl.login.retry.backoff.ms 设置的初始等待算法,并在尝试为 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间加倍长度。目前仅适用于 OAUTHBEARER。
sasl.login.retry.backoff.mstype: long
Default: 100
Importance: low
(可选)在登录尝试外部身份验证提供程序之间初始等待的值(可选)值(以毫秒为单位)。登录使用 sasl.login.retry.backoff.ms 设置的初始等待算法,并在尝试为 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间加倍长度。目前仅适用于 OAUTHBEARER。
sasl.oauthbearer.clock.skew.secondstype: int
Default: 30
Importance: low
(可选)值,允许 OAuth/OIDC 身份提供程序和代理的时间不同。
sasl.oauthbearer.expected.audiencetype: list
Default: null
Importance: low
(可选)代理的逗号分隔设置,用于验证已经为其中一个预期对象发布 JWT。为标准的 OAuth "aud" 声明将检查 JWT,如果设置了这个值,代理将匹配 JWT 的"aud"声明的值,以查看是否存在准确的匹配项。如果没有匹配项,代理将拒绝 JWT 和身份验证。
sasl.oauthbearer.expected.issuertype: string
Default: null
Importance: low
(可选)用于验证 JWT 是由预期签发者创建的代理的设置。将检查标准的 OAuth "iss" 声明,如果设置了此值,代理就与 JWT 的"iss"声明中的内容完全匹配。如果没有匹配项,代理将拒绝 JWT 和身份验证。
sasl.oauthbearer.jwks.endpoint.refresh.mstype: long
Default: 3600000(1 小时)
Importance: low
(可选)代理在刷新其 JWKS(JSON Web Key Set)缓存时要等待的值,其中包含用于验证 JWT 签名的密钥。
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.mstype: long
Default: 10000 (10 秒)
Importance: low
(可选)尝试从外部身份验证提供程序检索 JWKS(JSON Web Key Set)之间的最大等待的值(以毫秒为单位)。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.max.ms 设置的初始等待长度的指数级 backoff 算法,并在 sasl.oauthbearer.jwks.max.ms 设置指定的最大等待时间。
sasl.oauthbearer.jwks.endpoint.retry.backoff.mstype: long
Default: 100
Importance: low
(可选)初始等待的值(JSON Web Key Set)从外部身份验证提供程序检索尝试。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.max.ms 设置的初始等待长度的指数级 backoff 算法,并在 sasl.oauthbearer.jwks.max.ms 设置指定的最大等待时间。
sasl.oauthbearer.scope.claim.nametype: string
Default: scope
Importance: low
范围的 OAuth 声明通常命名为"scope",但此(可选)设置可以提供用于 JWT 有效负载声明中包含的范围的不同名称,如果 OAuth/OIDC 供应商将该声明使用不同的名称。
sasl.oauthbearer.sub.claim.nametype: string
Default: sub
Importance: low
主体的 OAuth 声明通常命名为"sub",但此(可选)设置可以为 JWT 有效负载声明中包含的主题提供不同的名称,如果 OAuth/OIDC 供应商将该声明使用不同的名称。
security.providerstype: string
Default: null
Importance: low
每次返回供应商实施安全算法的可配置创建者类列表。这些类应当实施
org.apache.kafka.common.security.auth.SecurityProviderCreator接口。ssl.cipher.suitestype: list
Default: null
Importance: low
密码套件列表。这是验证、加密、MAC 和密钥交换算法的命名组合,用于通过 TLS 或 SSL 网络协议协商网络连接的安全设置。默认情况下,支持所有可用的密码套件。
ssl.endpoint.identification.algorithmtype: string
Default: https
Importance: low
使用服务器证书验证服务器主机名的端点标识算法。
ssl.engine.factory.classtype: class
Default: null
Importance: low
类型为 org.apache.kafka.common.security.auth.SslEngineFactory 的类来提供 SSLEngine 对象。默认值为 org.apache.kafka.common.ssl.DefaultSslEngineFactory。
ssl.keymanager.algorithmtype: string
Default: SunX509
Importance: low
密钥管理器工厂用于 SSL 连接的算法。默认值为 Java 虚拟机配置的主要管理器工厂算法。
ssl.secure.random.implementationtype: string
Default: null
Importance: low
用于 SSL 加密操作的 SecureRandom PRNG 实施。
ssl.trustmanager.algorithmtype: string
Default: PKIX
Importance: low
信任管理器工厂用于 SSL 连接的算法。默认值为 Java 虚拟机配置的信任管理器工厂算法。