关键字搜索网站怎么做,网站建设客户分析调查表,有没有做3d衣服模型网站,广州门户网站制作公司消息发送流程 1.生产者main线程调用send发送消息#xff0c;先走拦截器#xff0c;然后会将消息进行序列化#xff0c;然后选择对应的分区器#xff0c;将消息发送到RecordAccumulator中#xff0c;默认是32m 2.Sender线程会异步读取#xff0c;要不数据达到batch的大小 …消息发送流程 1.生产者main线程调用send发送消息先走拦截器然后会将消息进行序列化然后选择对应的分区器将消息发送到RecordAccumulator中默认是32m 2.Sender线程会异步读取要不数据达到batch的大小 进行数据拉取要么数据达到linger的时间读取数据之后通过网络进行将数据发送到Kafka集群。如果出现失败在进行重试直到Broker返回ACK确认信息。 其中设计到的有main线程、Sender线程、拦截器、序列化器、分区器以及一个双端内存队列。
生产者重要参数
bootstrap.servers 生产者连接集群所需的broker地址清单key.serializer和value.serializer 指定发送消息的key和value的序列化类型。一定要写全类名。buffer.memory RecordAccumulator缓冲区总大小默认32mbatch.size 缓冲区一批数据最大值默认16klinger.ms 如果数据未达到batch.size sender等待linger.ms 之后发送数据默认是0acks 0 不需要数据落盘应答1leader收到数据应答 -1ALLleaderisr队列所有阶段收到数据应答默认值-1max.in.flight.requests.per.connection 允许最多没有返回ack的次数默认为5开启幂等性要保证该值是 1-5的数字。retries消息发送出现错误的时候重新发送默认是int最大值如果有重试还想保证消息顺序性MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION1否则在重试此失败消息的时候其他的消息可能发送成功了。retry.backoff.ms 两次重试之间的时间间隔默认100msenable.idempotence 是否开启幂等默认true,开启幂等compression.type 压缩方式默认值none,支持gzip,snappy等格式主要通过压缩来提高生产者发送消息的性能空间换时间。