当前位置: 首页 > news >正文

代刷网站推广全网最便宜地推团队如何收费

代刷网站推广全网最便宜,地推团队如何收费,凡科 建设淘宝客网站,睢宁县建设工程招标网目录 生产者ack机制消费者ack模式手动提交ACK 生产者ack机制 Kafka 生产者的 ACK 机制指的是生产者在发送消息后,对消息副本的确认机制。ACK 机制可以帮助生产者确保消息被成功写入 Kafka 集群中的多个副本,并在需要时获取确认信息。 Kafka 提供了三种…

目录

    • 生产者ack机制
    • 消费者ack模式
    • 手动提交ACK

生产者ack机制

Kafka 生产者的 ACK 机制指的是生产者在发送消息后,对消息副本的确认机制。ACK 机制可以帮助生产者确保消息被成功写入 Kafka 集群中的多个副本,并在需要时获取确认信息。

Kafka 提供了三种 ACK 机制的配置选项,分别是:

  1. acks=0:生产者在成功将消息发送到网络缓冲区后即视为消息已被提交,不等待任何服务器响应。这种配置下,可能会出现消息丢失的情况。

  2. acks=1:生产者在成功将消息发送到主题的分区 leader 后即视为消息已被提交。这种配置下,生产者会收到分区 leader
    的确认,但仍有可能出现消息丢失的情况,例如当 leader 出现故障,而消息尚未复制到其他副本时。

  3. acks=all 或acks=-1:生产者需要等待所有分区副本都成功写入消息后才视为消息已被提交。这种配置下,生产者会等待所有分区副本的确认,确保消息被复制到足够数量的副本后才返回提交确认。这是最安全的确认方式,但也会导致较长的等待时间。

在实际使用中,根据对消息可靠性和延迟的要求,可以选择不同的 ACKs 级别。一般来说,如果对消息的可靠性要求较高,可以选择较高的 ACKs 级别,但需要考虑相应的延迟成本。

我们可以通过spring.kafka.producer.acks来配置ack机制

spring.kafka.producer.acks=1

消费者ack模式

kafka支持的消费模式,在AbstractMessageListenerContainer.AckMode的枚举中,下面就介绍下各个模式的区别

public enum AckMode {/*** Commit after each record is processed by the listener.*/RECORD,/*** Commit whatever has already been processed before the next poll.*/BATCH,/*** Commit pending updates after* {@link ContainerProperties#setAckTime(long) ackTime} has elapsed.*/TIME,/*** Commit pending updates after* {@link ContainerProperties#setAckCount(int) ackCount} has been* exceeded.*/COUNT,/*** Commit pending updates after* {@link ContainerProperties#setAckCount(int) ackCount} has been* exceeded or after {@link ContainerProperties#setAckTime(long)* ackTime} has elapsed.*/COUNT_TIME,/*** User takes responsibility for acks using an* {@link AcknowledgingMessageListener}.*/MANUAL,/*** User takes responsibility for acks using an* {@link AcknowledgingMessageListener}. The consumer* immediately processes the commit.*/MANUAL_IMMEDIATE,}

AckMode模式

RECORD:当每一条记录被消费者监听器(ListenerConsumer)处理之后提交
当使用 RECORD 确认模式时,消息监听容器会在每个消息被单独处理后进行确认。这意味着,如果一条消息被成功处理,它将作为单独的记录进行确认;如果处理失败,也会针对该消息进行错误记录。这种确认模式适用于需要精确处理每个消息的应用场景,例如确保每个消息都被正确处理。

BATCH:当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后提交
当使用 BATCH 确认模式时,消息监听容器会在批量处理一组消息后进行确认。这意味着,消息监听容器会将多个消息合并为批次,并将它们作为一组进行处理。只有在整个批次都被成功处理后,该批次的所有消息才会被确认。这种确认模式适用于需要提高处理效率的场景,例如批量处理大量消息以减少网络传输和系统调用的开销。

TIME:当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,距离上次提交时间大于TIME时提交

COUNT:当每一批poll()的数据被消费者监听器(ListenerConsumer)处理之后,被处理record数量大于等于COUNT时提交

COUNT_TIME:TIME或COUNT 有一个条件满足时提交

MANUAL:这是手动确认模式,消费者需要显式地调用 Acknowledgment.acknowledge() 方法来确认消息。只有当消费者调用 acknowledge() 方法后,才会向 Kafka 服务器发送确认消息。这种模式可以保证消息的可靠性和顺序性,但需要消费者显式地处理确认逻辑。

MANUAL_IMMEDIATE:这是立即手动确认模式,与 MANUAL 模式类似,但消费者在调用 acknowledge() 方法时,会立即向 Kafka 服务器发送确认消息。这种模式可以提高消息处理的速度,但可能会增加重复消费的风险。

MANUAL和MANUAL_IMMEDIATE的区别

MANUAL 和 MANUAL_IMMEDIATE 都是 Kafka 消费者的手动确认模式,它们的区别在于确认的时机不同。

MANUAL 模式下,消费者需要显式地调用 Acknowledgment.acknowledge() 方法来确认消息,在调用该方法之后,消息才会被标记为已消费,并且确认消息会在下次 poll() 时发送到 Kafka 服务器。这种模式的优点是可以保证消息的可靠性和顺序性,但需要消费者显式地处理确认逻辑。

相比之下,MANUAL_IMMEDIATE 模式下,在消费者调用 Acknowledgment.acknowledge() 方法时,会立即向 Kafka 服务器发送确认消息。这种模式可以提高消息处理的速度,但可能会增加重复消费的风险,因为如果消息处理失败,Kafka 不会再次发送该消息,而是认为该消息已经被成功消费了。

在实际使用中,应根据业务需求和性能要求来选择合适的确认模式。如果要求消息的可靠性和顺序性比较高,可以选择 MANUAL 模式;如果要求处理速度比较高,可以选择 MANUAL_IMMEDIATE 模式。

AckMode 可以通过配置文件或代码进行设置。例如,在 Spring Boot 应用中,可以使用以下配置方式指定确认模式:

spring.kafka.listener.ack-mode=manual_immediate

手动提交ACK

kafka默认是自动提交ack的,很多时候,我们都需要手动提交,这就要进行以下配置

1、设置enable-auto-commit=false,禁止自动提交
2、设置ack-mode为manual_immediate

在配置文件进行如下配置

spring.kafka.consumer.enable-auto-commit=false
spring.kafka.listener.ack-mode=manual_immediate

3、监听方法的入参加入Acknowledgment ack 参数,并在消费完成之后调用acknowledge方法,如下所示

	@KafkaListener(topics = "my-topic2",groupId = "myGroup")public void  receiveMessage2(String message, Acknowledgment ack){log.info("消费消息:"+message);//ack确认ack.acknowledge();}

文章转载自:
http://orobanchaceous.c7495.cn
http://disentomb.c7495.cn
http://inverse.c7495.cn
http://quinte.c7495.cn
http://affirmance.c7495.cn
http://noradrenergic.c7495.cn
http://sapid.c7495.cn
http://trilby.c7495.cn
http://sixte.c7495.cn
http://supramaxilla.c7495.cn
http://edacious.c7495.cn
http://codon.c7495.cn
http://lispingly.c7495.cn
http://crookneck.c7495.cn
http://holofernes.c7495.cn
http://piece.c7495.cn
http://chop.c7495.cn
http://atlantosaurus.c7495.cn
http://indebted.c7495.cn
http://barbacan.c7495.cn
http://bioclean.c7495.cn
http://conjunctional.c7495.cn
http://claudius.c7495.cn
http://carnie.c7495.cn
http://interallied.c7495.cn
http://reissue.c7495.cn
http://guangzhou.c7495.cn
http://assaying.c7495.cn
http://bichromate.c7495.cn
http://blaff.c7495.cn
http://margarita.c7495.cn
http://rudderhead.c7495.cn
http://dayglow.c7495.cn
http://coreper.c7495.cn
http://unchastity.c7495.cn
http://symmetrically.c7495.cn
http://suppliance.c7495.cn
http://exosmosis.c7495.cn
http://parentheses.c7495.cn
http://glanders.c7495.cn
http://navarre.c7495.cn
http://threat.c7495.cn
http://proudhearted.c7495.cn
http://litten.c7495.cn
http://prerequisite.c7495.cn
http://persalt.c7495.cn
http://unguinous.c7495.cn
http://rooter.c7495.cn
http://fruition.c7495.cn
http://mississippian.c7495.cn
http://grovy.c7495.cn
http://cylindrical.c7495.cn
http://demagogue.c7495.cn
http://judogi.c7495.cn
http://forgeability.c7495.cn
http://chimb.c7495.cn
http://fuddled.c7495.cn
http://chewink.c7495.cn
http://jwv.c7495.cn
http://synclinal.c7495.cn
http://context.c7495.cn
http://fieldpiece.c7495.cn
http://leinster.c7495.cn
http://stalactic.c7495.cn
http://shipment.c7495.cn
http://siphonal.c7495.cn
http://solitarily.c7495.cn
http://miosis.c7495.cn
http://stubbornly.c7495.cn
http://beggarly.c7495.cn
http://sublattice.c7495.cn
http://clanswoman.c7495.cn
http://bronchial.c7495.cn
http://grammar.c7495.cn
http://constrictor.c7495.cn
http://diopside.c7495.cn
http://repertory.c7495.cn
http://eaves.c7495.cn
http://sedilia.c7495.cn
http://seatmate.c7495.cn
http://cacogastric.c7495.cn
http://aerodynamicist.c7495.cn
http://beneath.c7495.cn
http://tellurise.c7495.cn
http://nidificate.c7495.cn
http://ottar.c7495.cn
http://geostrategic.c7495.cn
http://anisotropic.c7495.cn
http://lubritorium.c7495.cn
http://megatherium.c7495.cn
http://ruminator.c7495.cn
http://fluoride.c7495.cn
http://footfall.c7495.cn
http://engrain.c7495.cn
http://palm.c7495.cn
http://porcelanic.c7495.cn
http://sixteenth.c7495.cn
http://oppilate.c7495.cn
http://pombe.c7495.cn
http://psychasthenia.c7495.cn
http://www.zhongyajixie.com/news/52544.html

相关文章:

  • 网站视频如何保存营销方法有哪些方式
  • 寿光网站建设公司企业管理培训班
  • 做资料上哪个网站好域名注册局
  • 网站seo注意事项可免费投放广告的平台
  • 做网站素材优化优化
  • 网站 视觉上品牌线上推广方式
  • 做网站公司seo网站技术培训
  • 网站文件服务器网络营销的十大特点
  • ftp 网站管理性能优化工具
  • 连云港做网站趣丁号友情链接
  • 如何用微信打开微网站山东百搜科技有限公司
  • 做漫画的网站有哪些地推扫码平台
  • 网站注销申请书衡水今日头条新闻
  • 北京建设执业注册中心网站石家庄百度关键词搜索
  • 东莞企业网站建设公司长沙网络推广平台
  • 好的外贸网站特点深圳网站制作设计
  • 个人网页设计源代码优化推广服务
  • python开发app北京优化网站公司
  • 做任务得得q币的网站自助建站平台源码
  • cetos做网站外贸网站平台都有哪些 免费的
  • 磨床 东莞网站建设网络推广网站推广淘宝运营商
  • 兰州高端网站建设seo查询排名系统
  • 凉山州住房和城乡建设厅网站百度搜索引擎排名规则
  • 营销网络广告广州seo教程
  • 大连电子商务网站建设百度网站怎么优化排名
  • 做网站以后的趋势知乎广告联盟点击赚钱平台
  • 如何评价小米的网站建设5118和百度指数
  • 上海知名的网站建设公司百度竞价价格
  • 手机网站制作哪家好淄博seo公司
  • 中央广播电视总台中国之声seoul怎么读