C# 卡夫卡·萨斯勒握手时间太长
说明: 使用SASL/紧急停堆或SASL/明文进行身份验证大约需要9秒才能完成。这正常吗 如何复制:C# 卡夫卡·萨斯勒握手时间太长,c#,security,apache-kafka,confluent-platform,C#,Security,Apache Kafka,Confluent Platform,说明: 使用SASL/紧急停堆或SASL/明文进行身份验证大约需要9秒才能完成。这正常吗 如何复制: 一个Kafka broker实例(v1.1.0) 一名C#制作人(合流卡夫卡客户v0.11.4版)完成以下工作: 一个C#消费者(合流卡夫卡客户v0.11.4版),执行以下操作: server.properties: broker.id=0 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 so
- 一个Kafka broker实例(v1.1.0)
- 一名C#制作人(合流卡夫卡客户v0.11.4版)完成以下工作:
- 一个C#消费者(合流卡夫卡客户v0.11.4版),执行以下操作:
- server.properties:
broker.id=0
num.network.threads=3
num.io.threads=8 socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
session.timeout.ms=1000 group.initial.rebalance.delay.ms=0 侦听器=SASL_SSL://localhost:9093 ssl.keystore.type=JKS
ssl.keystore.location=…
ssl.keystore.password=…
ssl.key.password= ssl.truststore.type=JKS
ssl.truststore.location=…
ssl.truststore.password= ssl.protocol=TLS
ssl.enabled.protocols=TLSv1.2、TLSv1.1、TLSv1
ssl.client.auth=必需
security.inter.broker.protocol=SASL\u SSL
ssl.secure.random.implementation=SHA1PRNG sasl.已启用。机构=普通,紧急停堆-SHA-256
sasl.mechanism.inter.broker.protocol=PLAIN log.dirs=…
num.partitions=1
num.recovery.threads.per.data.dir=1 offset.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1 log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
num.replica.fetchers=1 zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0 - 消费者权益:
bootstrap.servers=localhost:9093
group.id=测试消费者组
fetch.min.bytes=1
fetch.wait.max.ms=1
auto.offset.reset=最新
socket.blocking.max.ms=1
fetch.error.backoff.ms=1
ssl.ca.location=…
ssl.certificate.location=…
ssl.key.location=…
ssl.key.password=..
security.protocol=SASL\u SSL
sasl.机构=普通
sasl.username=…
密码= - 地产商
bootstrap.servers=localhost:9093
压缩类型=无
逗留时间ms=0
重试次数=0确认次数=0 ssl.ca.location=…
ssl.certificate.location=…
ssl.key.location=…
ssl.key.password= security.protocol=SASL\u SSL
sasl.机构=普通
sasl.username=…
密码= - 管理消费者。从请求到完成SASL握手大约需要9秒钟。这是日志: [2018-07-06 17:03:37673]调试将SASL服务器状态设置为握手或握手请求(org.apache.kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:37673]调试处理Kafka请求API_版本(org.apache.Kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:37673]调试将SASL服务器状态设置为握手请求(org.apache.kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:37673]调试处理Kafka请求SASL_握手(org.apache.Kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:37,674]使用客户端提供的SASL机制“普通”进行调试(org.apache.kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:46,805]调试设置SASL服务器状态以进行身份验证(org.apache.kafka.common.security.authenticator.SaslServerAuthenticator) [2018-07-06 17:03:46807]调试将SASL服务器状态设置为完成(org.apache.kafka.common.security.authenticator.SaslServerAuthenticator)
- 我在运行producer时也观察到了相同的持续时间
- 在使用SCRAM-256进行身份验证时,我观察到了相同的持续时间
- 我在运行Java客户端时观察到了相同的持续时间(
和kafka控制台使用者
)kafka控制台生产者
var producerConfig =
PropertiesUtils.ReadPropertiesFile("producer.properties");
using (var producer = new Producer(producerConfig, null, new StringSerializer(Encoding.UTF8)))
{
while (true)
{
Console.Write("message: ");
string msg = Console.ReadLine();
producer.ProduceAsync("test-topic", null, msg);
}
}
var config = PropertiesUtils.ReadPropertiesFile("consumer.properties");
using (var consumer = new Consumer(config, null, new StringDeserializer(Encoding.UTF8)))
{
consumer.OnMessage += (_, msg)
=>
{
Console.WriteLine(msg.Value);
};
consumer.OnError += (_, error)
=> Console.WriteLine($"Error: {error}");
consumer.OnConsumeError += (_, msg)
=> Console.WriteLine($"Consume error ({msg.TopicPartitionOffset}): {msg.Error}");
consumer.Subscribe("test-topic");
while (true)
{
try
{
consumer.Poll(TimeSpan.FromMilliseconds(1000));
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}