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

请人做网站卖东西好吗发稿媒体平台

请人做网站卖东西好吗,发稿媒体平台,成人大专怎么考,牡丹江建设厅网站先说一下事情产生的背景:原先的代码逻辑是消费MQ,然后请求其他服务的接口,对接口的返回值result做落库操作,现在要新加个逻辑,做完落库操作后还要再将result封装落到新表中;即消费一次MQ(MQ消息的频率非常高…

先说一下事情产生的背景:原先的代码逻辑是消费MQ,然后请求其他服务的接口,对接口的返回值result做落库操作,现在要新加个逻辑,做完落库操作后还要再将result封装落到新表中;即消费一次MQ(MQ消息的频率非常高),两个落库操作(一个是新表);但上线时发现mysql连接被打满了,然后通过自己公司的监控系统去排查,原先的落库操作A的QPS只有800左右,但新加的落库操作B却达到了4000+的QPS,直接翻了5倍,当时就懵了,看代码也没问题,代码伪逻辑如下:

1.获取MQ数据
2.MQ数据去请求其他服务接口,获取返回值
3.对返回值操作,落到原先的表
4.对返回值封装落到新表中,但问题就出现在这里了,因为落新表时不只是直接insert4.1: 先根据封装后的值查询一次代码,如果数据库已有数据就update4.2: 如果数据库没有数据,就insertif(queryByTeaId(查询字段teacherId) !=null){updateByTeaId(封装后的值和更新条件teacherId)}else{insert(封装后的值)	}

结果由于新表对于查询字段没有建立索引,且虽然是新表,但另一个离线任务一直在往里写着数据,已有的数据量已经非常大了
,导致报错:com.alibaba.druid.pool.GetConnectionTimeoutException,后来对表中字段teacherId加了唯一索引后,完美解决问题。

但后续又延伸出另一个问题:Mysql表中teacherId是设置的唯一索引,但由于是一直消费MQ,MQ消息中是studentId,会反查teacherId,所以多个消息可能对应的是同一个teacherId,但代码都懂得,多线程执行的,所以插入时,偶然在代码中报了唯一键重复的错误,由于文章时后面写的,具体报错没保存也懒的百度了,虽然是偶发事件,但还是得解决,本来想的是在代码中把查询、插入、更新的代码写带一个方法中,给这个方法加上@Transactional事务注解,但后来一想,多线程情况下,这也解决不了问题,但此业务又不是很重要,没必要用到分布式锁,所以后面从sql入手,使用ON DUPLICATE KEY UPDATE算是解决了多线程插入导致唯一键冲突的问题,如下:

-- teacher_id 设置的是唯一索引
insert into tableName name,age,sex,teacher_id values('zhangsan',18,1,1234) ON DUPLICATE KEY UPDATE name = 'lisi',
age = 19,sex = 0 ;

由于很少用ON DUPLICATE KEY UPDATE,所以我以为只会检查主键是否重复,特意去百度了下,介绍如下:

ON DUPLICATE key update是根据索引字段是否重复来判断是否执行,如果重复则执行update,否则则执行insert。

优先级主键>唯一索引
  • 当主键重复时则执行update
  • 当主键不重复,唯一索引重复时也执行update
  • 当主键和唯一索引值都不重复才执行insert

特殊情况,当主键重复执行update时,如果此时唯一索引字段与其他字段也重复则会报错

http://www.hkea.cn/news/756777/

相关文章:

  • 自己做装修网站南宁百度推广seo
  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站