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

怎样写精品课程网站建设网站还能赚钱吗

怎样写精品课程网站建设,网站还能赚钱吗,wordpress 504 gateway time-out,wordpress添加导航目录 一、引言 二、消息幂等解决方案 2.1. 方案一 2.2. 方案二 一、引言 幂等是一个数学概念#xff0c;用函数表达式来描述是这样的#xff1a;f(x) f(f(x)) 。在程序开发中#xff0c;则是指同一个业务#xff0c;执行一次或多次对业务状态的影响是一致的。有些业务…目录 一、引言 二、消息幂等解决方案 2.1. 方案一 2.2. 方案二 一、引言 幂等是一个数学概念用函数表达式来描述是这样的f(x) f(f(x)) 。在程序开发中则是指同一个业务执行一次或多次对业务状态的影响是一致的。有些业务天生就是幂等的如查询和删除业务执行一次和多次的结果是一样的而像用户下单、用户退款是非幂等业务。 实际项目开发中我们在提交表单时很多时候可能会重复提交表单这个时候我们通过token令牌等唯一标识来解决第一次提交页面将缓存中的唯一标识删除后面再重新提交时缓存中的标识已经被删了因此重复提交失败。 我们在消息消费的过程中也会存在同样的问题即如何来保障所有业务在接收RabbitMQ消息时保证业务的幂等性避免消息重复消费呢 二、消息幂等解决方案 2.1. 方案一 1. 给每个消息都设置/生成一个唯一id利用id区分是否是重复消息与消息一起投递给消费者。 2. 消费者接收到消息后处理自己的业务业务处理成功后将消息ID保存到数据库 3. 如果下次又收到相同消息去数据库查询判断是否存在存在则为重复消息放弃处理 核心代码 我们可以在生产者和消费者两端分别声明消息转换器的Bean本案例为了方便直接在启动类中声明消息转换器并配置自动为消息创建id。 package com.example.consumer;import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean;SpringBootApplication public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}Beanpublic MessageConverter messageConverter(){// 1.定义消息转换器Jackson2JsonMessageConverter jjmc new Jackson2JsonMessageConverter();// 配置自动创建消息id用于识别不同消息也可以在业务中基于ID判断是否是重复消息jjmc.setCreateMessageIds(true);return jjmc;} }package com.example.publisher;import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean;SpringBootApplication public class PublisherApplication {public static void main(String[] args) {SpringApplication.run(PublisherApplication.class, args);}Beanpublic MessageConverter messageConverter(){// 1.定义消息转换器Jackson2JsonMessageConverter jjmc new Jackson2JsonMessageConverter();// 配置自动创建消息id用于识别不同消息也可以在业务中基于ID判断是否是重复消息jjmc.setCreateMessageIds(true);return jjmc;} }通过源码可以看到默认生成的是UUID 通过RabbitMQ浏览器界面可以看到消息已经生成了一个唯一ID 2.2. 方案二 结合业务逻辑基于业务本身做判断。以余额支付业务为例我们要在支付后修改订单状态为已支付应该在修改订单状态前先查询订单状态判断状态是否是未支付。只有未支付订单才需要修改其他状态不做处理 核心代码  上述代码可以通过乐观锁来实现替换代码如下
http://www.hkea.cn/news/14528152/

相关文章:

  • 怎么学建设网站关键词那种网站
  • 网站头部修改电脑怎么创建网站吗
  • 秦皇岛营销式网站太原建设银行保安招聘网站
  • 数据分析方法南宁seo内部优化
  • 标识设计公司网站网站后台管理系统进不去怎么办
  • 网站开发需求大厅wordpress栏目列表页
  • 网站服务器及运营维护公告嘉祥网站建设哪家便宜
  • 广东企业网站seo报价作图网站都有哪些
  • 广告型网站怎么做的在深圳怎么进大公司网站
  • 企业推广网站建设报价什么叫平台
  • 北湖区网站建设服务商建设商城类网站多少钱
  • 游戏交易网站怎么做漳平网站建设
  • wordpress acg站陕西省建设厅网站官网
  • 网站代码免费下载青岛做网站seo
  • 网站开发人员结构配比电商网站建设方案模板
  • 如何用自家电脑做网站服务器关键词优化内容
  • 怎样建立网站免费的怎么做自己的网站弄商城佣金
  • 通过社交网站来做招聘决定安阳论坛网
  • 百度搜索这个网站为什么这么差wordpress $_file
  • php网站源码模板个人营销型网站
  • 做ssp用什么建网站wordpress 自动内链 代码
  • 本地网站后台管理建设杭州外贸网站制作
  • 有实力营销型网站建设广州网站开发小程序
  • 医疗网站建设多少钱wordpress栏目指定二级域名
  • phpcms如何发布网站网站查找工具
  • 四川网站备案核验单广州安全教育平台网
  • 软件程序员长沙官网seo
  • 福州网站建设方案服务自适应网站做多大尺寸的
  • 订阅号做影视网站永州网站建设优化
  • 如何做视频网站旗下账号家装设计师怎么学