`
flashing
  • 浏览: 349682 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

记录项目中几个问题

阅读更多

都是很折腾人很见鬼的bug。

Background

最近做了一个交易中间件项目--这个名字听起来比较高大山。。。就是个大量访问的卖手机流量的交易平台,对接好多客户自动下单,以及自动化处理的上级系统,运行在阿里云上,配置4 cores 8GB Memory。

 

First thing first

1.阿里云安装MariaDB 10.1.9(后升级到10.1.10仍然没解决),长事物丢数据。

每天凌晨从订单表导入到历史订单表,至少10K数据,然后发现丢数据了。写程序对比了程序输出日志和binlog以及数据库之后发现,sql被完整执行,但是在这个长事物中,innodb在存储的时候会随机少几条,当然也有一天没少...后来尝试了各种方法,几天之后没辙了,切换到RDS;之后再没有过这个问题。

说实话我没怀疑MariaDB,这个bug太弱智了,我是怀疑阿里云的IO有问题。

 

2.话说切换到RDS之后出现过一次数据不一致的情况,在一个连接里面,行级锁锁定一个客户记录,然后查客户余额,然后根据余额情况来决定是否做某些逻辑,然后修改余额(用update语句直接修改),结果发现查询出来一个一小时之前的数值...然后udpate语句因为RDS的binlog是记录修改前和修改后的数据的,所以发现binlog记录的是正确的数据。为什么会查出来一个小时之前的数据呢...虽然只有一次!

 

3.生成报表Excel并下载,大概从几万到十几万数据。因为系统有几天偶尔会跑死,cpu占用率爆高,或者连接池超时(实际连接数并不很高,大概七八十),一直不知道是什么原因,只能重启系统。后来发现,这事儿和360浏览器有关(为毛又是360浏览器,被这玩意坑的血泪史真是...),客户如果用360浏览器下载生成的Excel报表,浏览器可能没正确识别Content-Length头(为毛这么弱智的bug)所以半路就把连接关了,客户就下载失败了,服务端catch异常之后正常返回;然而就这么个简单问题,服务器上tomcat占用cpu直接就爆表,因为线上交易比较多,所以一直没时间仔细研究这个bug的具体原因(怀疑是tomcat的apr的bug),但是看起来无论如何也不应该出现这个问题...解决方案就是换其他whatever的浏览器都ok,只要别是大坑360。

 

记录一下,可能后来还有被坑的兄弟,可以参考。

1
0
分享到:
评论

相关推荐

    VSS项目记录管理

    前几天在网上找的关于VSS的一个API的调用,遍历设定的服务器,获取所有文件及目录,将文件的更新记录导入数据库,利用数据库知识做更多扩展,目前开放3个表,1\users;2\files;3\historys;使用这些数据可以轻松的获取员工的...

    十个android项目(后5个)

    尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服 务等。 8、 OpenSudoku-android OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示...

    android 10个开源项目的学习

    尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。  8、 OpenSudoku-android  OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中...

    10大经典Android开源项目分享(学习android必备)

    尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。  8、 OpenSudoku-android  OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中...

    10个经典的Android开源应用项目

    尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服务等。  8、 OpenSudoku-android  OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中...

    Android应用源码自带主题切换和历史记录的计算器

    本项目是一个有历史记录和主题切换的安卓计算器项目源码,有比较复杂的布局和SQLite应用,整个项目分了好几个层。

    系统集成项目管理工程师 软考资料

    另外有一个自己遇到的问题笔记记录和答案。 我是从今年4月中旬第一次开始看的,花了一个月时间,一次通过。 经验: 1、刚开始不知道这个是什么,考什么,随便了找了一个试卷,原来有上午下午两场,随便做了一套题目...

    人工智能-项目实践-深度学习-基于Kafka和MongoDB的结构化日志异步记录和预警框架.zip

    使用Kafka能够让日志的推送在几个CPU tick内完成,几乎完全不影响日志生产者的处理效率。 在日志数据的消费端,breeze使用MongoDB进行日志数据的落地,之所以选择MongoDB,而不是其他关系型数据库或key-value型...

    8前端大厂面试二面 2:如何介绍项目及应对项目细节追问.md

    具体要介绍一个项目(包括梳理一个项目),可以按照下面几个阶段来做。 ### 1. 介绍项目背景 这个项目为什么做,当初大的环境背景是什么?还是为了解决一个什么问题而设立的项目?背景是很重要的,如果不了解背景,...

    项目阶段评审表

    阶段评审可以对某个开发阶段的阶段产品进行评审,也可以对某几个开发阶段的阶段产品进行综合评审。在每次阶段评审中,必须履行正式手续,填写必要的评审表格,以利于项目管理工作,利于产品验收时的质量检查工作。 ...

    Android项目_Porting台湾 移植与研究实行.rar

    3. **示例工程**:通过几个具体的移植案例,展示了如何将台湾地区的应用和功能成功迁移到新的Android项目中。 4. **二次开发工具包**:提供了一系列定制化的工具和插件,帮助开发者根据自身需求对项目进行二次开发和...

    基于记录的应用程序设计

    我们只需运行程序就可以理解teach.cpp这样的数据驱动系统的灵活性,按照这个项目最初的目标,程序teach.cpp应该用于传统的程序化教学,如文件cs.txt最开始的几个问题见下图: 当程序teach.cpp与这个文件结合应用时...

    基于记录应用程序设计

    我们只需运行程序就可以理解teach.cpp这样的数据驱动系统的灵活性,按照这个项目最初的目标,程序teach.cpp应该用于传统的程序化教学,如文件cs.txt最开始的几个问题见下图: 当程序teach.cpp与这个文件...

    javascript几个易错点记录

    本文记录了几个平时在项目中使用javascript的易错的点,时刻提醒自己不要再犯相同的错误。

    安卓实训项目报告,项目为个人理财通APP

    本软件主要包括以下几个模块:新增收入、新增支出、我的收入、我的支出、数据管理、收支便签以及密码设置。用户可以对支出和收入信息的记录、修改、删除、查询、统计进行操作以及用便签功能来记录将要支出和收入的...

    多个Vue项目部署到服务器的步骤记录

    一、业务描述: 最近在做一个电商的项目,里面有平台端和商家端以及用户端,那么这么多Vue项目...多加几个location即可 四、最后记得保存 :wq 五、重新启动Nginx systemctl restart nginx 六:Nginx.conf的内容 ser

    图书管理系统项目[LibraryMS]

    项目是我自己找的,不是本人做的,但是毕业设计是我总结的[毕业设计需要另算分了...],如果直接拿这个项目交的话,需要注意的几点:【项目】:里面有个图片,就是网页底部要用到的,注明的有人家的公司,需要拿photo...

    白嫖来的入门级云服务器有这么几个妙用(附教程)

    那么接下来就是分享几个感觉能在服务器上使用的场景,也是自己想要进行尝试的 玩法1:利用云主机自建博客 自建博客作为当下最流行的个人宣传方式之一,走在技术前沿的你怎么能没有呢? 在属于自己的博客中,你不仅...

    asp.net项目管理系统VS开发sqlserver数据库web结构C#编程

    管理员功能包括以下几个模块: (1)员工管理模块:可以对系统用户的的基本信息进行修改、删除和查看 (2)项目管理模块:可以对项目任务基本信息进行添加、删除、修改和查询 (3)日志管理模块:可以对任务日志的...

    为什么PCS 7项目中当前报警的显示时间与本地时间不一致.pdf

    为什么PCS 7项目中当前报警的显示时间与本地时间不一致pdf,西门子之为什么PCS 7项目中当前报警的显示时间与本地时间不一致

Global site tag (gtag.js) - Google Analytics