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

网页设计 网站建设啥意思erp软件实施

网页设计 网站建设啥意思,erp软件实施,可以做热图的工具网站,电子商务网站建设合同签订点戳蓝字“架构之美”关注我们哦#xff01;前言 今天我们聊一个话题#xff0c;这个话题大家可能在面试过程中#xff0c;或者是工作当中经常遇到 ?如何保证 Kafka 消息不重复消费#xff1f;我们在做开发的时候为了程序的健壮性#xff0c;在使用 Kafka 的时候一般都会… 点戳蓝字“架构之美”关注我们哦  前言 今天我们聊一个话题这个话题大家可能在面试过程中或者是工作当中经常遇到 ?如何保证 Kafka 消息不重复消费我们在做开发的时候为了程序的健壮性在使用 Kafka 的时候一般都会设置重试的次数但是因为网络的一些原因设置了重试就有可能导致有些消息重复发送了(当然导致消息重复也有可能是其他原因)那么怎么解决消息重复这个问题呢关于这个问题我这儿提供了如下三种解决方案供大家参考。 解决方案方案一  /  保存并查询给每个消息都设置一个独一无二的 key消费的时候把 key 记录下来然后每次消费新的消息的时候都查询一下看当前消息的这个 key 是否消费过如果没有消费过才进行消费。(这种方式好想但是其实实现起来一点也不简单)方案二 /  利用幂等幂等(Idempotence)在数学上是这样定义的如果一个函数 f(x) 满足f(f(x)) f(x)则函数 f(x) 满足幂等性。这个概念被拓展到计算机领域被用来描述一个操作、方法或者服务。一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。一个幂等的方法使用同样的参数对它进行多次调用和一次调用对系统产生的影响是一样的。所以对于幂等的方法不用担心重复执行会对系统造成任何改变。我们举个例子?来说明一下。在不考虑并发的情况下“将 X 老师的账户余额设置为 100 万元”执行一次后对系统的影响是X 老师的账户余额变成了 100 万元。只要提供的参数 100万元不变那即使再执行多少次X 老师的账户余额始终都是 100万元不会变化这个操作就是一个幂等的操作。再举一个例子?“将 X 老师的余额加 100 万元”这个操作它就不是幂等的每执行一次账户余额就会增加 100 万元执行多次和执行一次对系统的影响(也就是账户的余额)是不一样的。所以通过这两个例子我们可以想到如果系统消费消息的业务逻辑具备幂等性那就不用担心消息重复的问题了因为同一条消息消费一次和消费多次对系统的影响是完全一样的。也就可以认为消费多次等于消费一次。那么如何实现幂等操作呢最好的方式就是从业务逻辑设计上入手将消费的业务逻辑设计成具备幂等性的操作。但是不是所有的业务都能设计成天然幂等的这里就需要一些方法和技巧来实现幂等。下面我们介绍一种常用的方法利用数据库的唯一约束实现幂等。例如我们刚刚提到的那个不具备幂等特性的转账的例子将 X 老师的账户余额加 100 万元。在这个例子中我们可以通过改造业务逻辑让它具备幂等性。首先我们可以限定对于每个转账单每个账户只可以执行一次变更操作在分布式系统中这个限制实现的方法非常多最简单的是我们在数据库中建一张转账流水表这个表有三个字段转账单 ID、账户 ID 和变更金额然后给转账单 ID 和账户 ID 这两个字段联合起来创建一个唯一约束这样对于相同的转账单 ID 和账户 ID表里至多只能存在一条记录。这样我们消费消息的逻辑可以变为“在转账流水表中增加一条转账记录然后再根据转账记录异步操作更新用户余额即可。”在转账流水表增加一条转账记录这个操作中由于我们在这个表中预先定义了“账户 ID 转账单 ID”的唯一约束对于同一个转账单同一个账户只能插入一条记录后续重复的插入操作都会失败这样就实现了一个幂等的操作。方案三 /  设置前置条件为更新的数据设置前置条件另外一种实现幂等的思路是给数据变更设置一个前置条件如果满足条件就更新数据否则拒绝更新数据在更新数据的时候同时变更前置条件中需要判断的数据。这样重复执行这个操作时由于第一次更新数据的时候已经变更了前置条件中需要判断的数据不满足前置条件则不会重复执行更新数据操作。比如刚刚我们说过“将 X 老师的账户的余额增加 100 万元”这个操作并不满足幂等性我们可以把这个操作加上一个前置条件变为“如果X老师的账户当前的余额为 500万元将余额加 100万元”这个操作就具备了幂等性。对应到消息队列中的使用时可以在发消息时在消息体中带上当前的余额在消费的时候进行判断数据库中当前余额是否与消息中的余额相等只有相等才执行变更操作。但是如果我们要更新的数据不是数值或者我们要做一个比较复杂的更新操作怎么办用什么作为前置判断条件呢更加通用的方法是给你的数据增加一个版本号属性每次更数据前比较当前数据的版本号是否和消息中的版本号一致如果不一致就拒绝更新数据更新数据的同时将版本号 1一样可以实现幂等。 最后今天给大家提供的消息重复的解决方案也参考了《消息队列高手课》里的思路大家如果有什么好的解决方案欢迎讨论大家加油·end·奈学教育科技技术人成长之路的指路人点赞支持技术创业?
http://www.huolong8.cn/news/216442/

相关文章:

  • 网站空间的管理wordpress小插件下载
  • 网站后台搜索重要新闻摘抄2022
  • 网站建设的快乐配置网站开发环境
  • 网站制作 网站开发百度手机助手应用商店下载
  • 专业做政法ppt的网站免费的微网站制作平台
  • 外国黄冈网站推广平台电子商务就是建网站
  • 网站友情链接有什么用网站网页设计招聘
  • 学到什么程度可以做网站建站还有前途么
  • 网站集群建设的意义服装网络推广方案
  • 怎么做cc网站成功案例网站建设
  • qml 网站开发秦皇岛制作网站
  • 怎么用别人网站做模板写软文的app
  • 阿里巴巴做网站的电话号码wordpress首页小工具
  • 公司网站怎么优化电子商务平台经营者
  • 箱包网站建设策划报告网站建设说明
  • 怎么查网站备案域名eroticalia wordpress
  • wordpress lamp 建站手机网站建设代理商
  • 做淘宝客网站要多少钱做电影网站被找版权问题怎么处理
  • 网站流程示意网站建设 培训 南充
  • 扒站wordpress主题体育台球直播在线观看
  • 代码中可以做自己的网站吗网站建设与规划总结怎么写
  • wordpress申请子站长沙大型网络网站制作公司
  • 网站标题图片怎么做网站推广分为哪几个部分
  • 网站建设的必要性’企业官网定制设计开发
  • 免费企业网站后台电子商务网站的建设课件
  • 网站做拓扑图编辑企业查询系统官网河北
  • 汉滨区城乡建设规划局 网站400电话 网站建设
  • 山西建设厅网站查不了域名频道注册域名
  • 做360手机网站永州网站开发
  • 东风地区网站建设价格低国内知名的网站设计公司