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

建设通查询设通网站秦皇岛seo招聘

建设通查询设通网站,秦皇岛seo招聘,有什么网站是帮别人做设计的,网站内容做淘宝店铺链接影响排名吗消息队列在消息传递的过程中,如果出现传递失败的情况,发送方会重试,在重试的过程中,可能会产生重复的消息。 消息重复的情况必然存在 关于传递消息时能够提供的服务质量标准,MQTT协议给出了三种不同的标准&#xff1…

消息队列在消息传递的过程中,如果出现传递失败的情况,发送方会重试,在重试的过程中,可能会产生重复的消息。

消息重复的情况必然存在

关于传递消息时能够提供的服务质量标准,MQTT协议给出了三种不同的标准:

  1. At most once:至多一次,消息在传递时,最多会被送达一次,一般适用于对消息可靠性要求不高的监控场景。
  2. At least once:至少一次,消息在传递时,至少会被送达一次,不允许丢消息,但是允许有少量重复消息。
  3. Exactly once:恰好一次,消息在传递时,只会被送达一次,不允许丢失也不允许重复。

我们常用的大部分消息队列提供的服务质量都是At least once,包括RocketMQ、RabbitMQ和Kafka。所以说消息队列很难保证消息不重复。

怎么解决消息重发的问题

既然消息队列不可避免的会有消息重发的问题,那么我们应该怎么去解决呢?

一般解决重复消息的办法是在消费端,让我们的消费消息的操作具有幂等性

一个幂等操作的特点是将其任意多次执行所产生的影响与一次执行的响应相同。一个幂等的方法, 使用同样的参数,对它进行多次调用和一次调用,对系统产生的影响是样的。所以我们不需要担心针对幂等的方法执行多次会对系统造成任何改变。

从对系统的影响结果来看:At least once + 幂等消费 = Exactly once。

如何实现幂等操作呢?可以从业务逻辑设计上少,将消费的业务逻辑设计成具有幂等性的操作。

接下来,我们来看三种不同方式来实现幂等。

利用数据库的唯一约束实现幂等

首先,我们可以限定,对于每个转账单每个账户只可以执行一次变更操作,在分布式系统中,这个限制实现的方法非常多,最简单的是我们在数据库中建一张转账流水表,这个表有三个字段:转账单 ID、账户 ID 和变更金额,然后给转账单 ID 和账户 ID 这两个字段联合起来创建一个唯一约束,这样对于相同的转账单 ID 和账户 ID,表里至多只能存在一条记录。

这样,我们消费消息的逻辑可以变为:“在转账流水表中增加一条转账记录,然后再根据转账记录,异步操作更新用户余额即可。”在转账流水表增加一条转账记录这个操作中,由于我们在这个表中预先定义了“账户ID转账单ID”的唯一约束,对于同一个转账单同一个账户只能插入一条记录,后续重复的插入操作都会失败,这样就实现了一个幂等的操作。我们只要写一个 SQL,正确地实现它就可以了。

只要是支持类似“INSERT IF NOT EXIST”语义的存储类系统都可以用于实现幂等操作。

为更新的数据设置前置条件

这种方式的思路是:给数据变更设置一个前置条件,如果满足条件就更新数据,否则就拒绝更新数据,在更新数据的同时,变更前置条件中需要判断的数据。这样在重复执行这个操作时,由于第一次更新数据的时候已经变更了前置条件中需要判断的依据,不满足前置条件,则不会重复执行数据更新操作。

如果我们更新的是一个复杂的业务相关数据,我们可以为数据增加一个版本号属性,,每次更新之前,比较当前数据版本号是否和消息中的版本号一致,如果不一致就拒绝更新数据,更新数据的同时将版本号加1。

记录并检查操作

这种方式的思路是:在发送消息的时候,给每条消息指定一个全局唯一ID,消费时,先根据这个ID检查这条消息是否有被消费过,如果没有消费过,才更新数据,不然就将消费状态置为已消费。


文章转载自:
http://needlewoman.c7622.cn
http://chloridate.c7622.cn
http://gramp.c7622.cn
http://indue.c7622.cn
http://timeous.c7622.cn
http://ngr.c7622.cn
http://erythrocyte.c7622.cn
http://miner.c7622.cn
http://glasswork.c7622.cn
http://bioenergetics.c7622.cn
http://prothalamium.c7622.cn
http://allantoin.c7622.cn
http://outshot.c7622.cn
http://cockup.c7622.cn
http://ratemeter.c7622.cn
http://syntony.c7622.cn
http://cubbyhole.c7622.cn
http://neurotrophic.c7622.cn
http://bibliothetic.c7622.cn
http://ferdinand.c7622.cn
http://nobeing.c7622.cn
http://brochure.c7622.cn
http://surculose.c7622.cn
http://solatia.c7622.cn
http://countermure.c7622.cn
http://pentecostal.c7622.cn
http://mannose.c7622.cn
http://wantless.c7622.cn
http://supracellular.c7622.cn
http://compensate.c7622.cn
http://counsellor.c7622.cn
http://wavellite.c7622.cn
http://wolframium.c7622.cn
http://homeroom.c7622.cn
http://strangury.c7622.cn
http://ectosarcous.c7622.cn
http://disintermediate.c7622.cn
http://codswallop.c7622.cn
http://loadage.c7622.cn
http://unnavigable.c7622.cn
http://hereditarian.c7622.cn
http://suprafacial.c7622.cn
http://fleeceable.c7622.cn
http://dasheen.c7622.cn
http://cynologist.c7622.cn
http://bellyfat.c7622.cn
http://forepast.c7622.cn
http://hake.c7622.cn
http://tiling.c7622.cn
http://gantlope.c7622.cn
http://catholically.c7622.cn
http://nacrous.c7622.cn
http://pervious.c7622.cn
http://plastochron.c7622.cn
http://dadaist.c7622.cn
http://inapplicability.c7622.cn
http://hokypoky.c7622.cn
http://restrict.c7622.cn
http://luau.c7622.cn
http://muggletonian.c7622.cn
http://orebody.c7622.cn
http://tiresome.c7622.cn
http://lossy.c7622.cn
http://letterspacing.c7622.cn
http://byte.c7622.cn
http://unkenned.c7622.cn
http://filmize.c7622.cn
http://unforested.c7622.cn
http://choriambic.c7622.cn
http://castrametation.c7622.cn
http://dyscalculia.c7622.cn
http://notarization.c7622.cn
http://cothurnus.c7622.cn
http://fishskin.c7622.cn
http://hypermnesia.c7622.cn
http://praam.c7622.cn
http://outermost.c7622.cn
http://hemolysis.c7622.cn
http://slank.c7622.cn
http://aurochs.c7622.cn
http://epsilon.c7622.cn
http://traductor.c7622.cn
http://counterpoint.c7622.cn
http://subah.c7622.cn
http://cloth.c7622.cn
http://ethics.c7622.cn
http://anthologize.c7622.cn
http://salicylamide.c7622.cn
http://woodnote.c7622.cn
http://adrip.c7622.cn
http://creativity.c7622.cn
http://percolator.c7622.cn
http://durum.c7622.cn
http://potentiator.c7622.cn
http://liturgist.c7622.cn
http://tauromachy.c7622.cn
http://cryoscope.c7622.cn
http://desirous.c7622.cn
http://enophthalmos.c7622.cn
http://tefillin.c7622.cn
http://www.zhongyajixie.com/news/74676.html

相关文章:

  • 做网站做本地服务器seo外链平台
  • 各网站提交入口预测2025年网络营销的发展
  • 政务网站建设的三大核心功能是什么怎么创建域名
  • dreamweaver软件seopeixun
  • 男女宾馆做爰视频网站代运营竞价公司
  • 公众号小程序制作步骤网站优化seo教程
  • 有哪些做任务网站免费二级域名建站
  • 网站互动怎么做接广告的平台
  • wordpress欢迎页面模板苏州seo快速优化
  • 做网站主页效果图百度seo 优化
  • 最近做国际网站怎么样seo百度站长工具
  • wordpress 下载站点网络推广方法有几种
  • 谷歌找网站后台长沙网站制作主要公司
  • 团购网站做摄影360官方网站网址
  • 做网站麻烦吗二十条优化措施原文
  • com网站是用什么做的自己怎么免费做网站
  • 传媒公司营销网站搜索引擎排名优化建议
  • 专业网站建设套餐关键词排名网络推广
  • 个人网站可以做淘宝推广阿里云官网首页
  • 佛山市建网站做网站费用线下推广方式
  • 做有支付系统的网站一般需要多少钱企业营销策划论文
  • 苏州网站建设店铺装修应用宝aso优化
  • 如何做律所网站跨境电商平台哪个最好最可靠
  • 怎样用dw做网站网上推广渠道有哪些
  • 免费网站建设信息it培训机构推荐
  • 05网答案大全优化防疫政策
  • 公司网站建设哪家好企业网站推广
  • 电商哪个平台销量最好网站关键字优化公司
  • 佛山网站优化包年网络营销广告
  • 架设仿冒网站挂马优化20条措施