这些年踩过的一些坑
大帅哥程序员
求知若愚,永远保持一颗年轻的心
展开
-
数据库大表超大表迁移归档方案(以oracle为例子)
原理:超大数量表的情况下,采用将原来表作为归档表,而不是直接复制原始表到归档表,如果需要保留一部分数据,再从归档表中迁移一部分数据原始表T_IM_MESSAGE 原始表T_IM_MESSAGE_LOG 归档表第一步,复制新建立一个与原表结构一模一样的表T_IM_MESSAGE_LOGcreate table T_IM_MESSAGE_LOG as select * from T_IM...原创 2019-11-27 16:53:45 · 3011 阅读 · 0 评论 -
前端数据接口被恶意调用 两个例子
web安全,接口频繁恶意请求原创 2017-07-26 18:42:20 · 2283 阅读 · 0 评论 -
(生产事故)rabitmq大量队列数量有增无减,消费组件又一直在打消费日志,进而影响app整体功能
2015年的一天,早上突然很多用户反馈消息系统出现空白且在使用功能的使用与有提示系统异常吓得我马上上生产机器看日志,发现大量接口调用超时,且mq消费日志不停的再打,很疯狂那种我们想到的是昨天是正常的,为什么突然之间就大量报错呢,并看错误是啥产生的乱码报错,会导致进程直接结束,结束的后果就是队列没有被消费,最终导致mq队列数量有增无减少,并且重复被消费最终导致整个app不能使用...原创 2019-06-21 18:37:28 · 180 阅读 · 0 评论 -
(生产事故)表不设计索引导致数据库大量查询超时,机器cpu100%,app不能正常使用
16年得时候我们上线了一个统计消息推送消息到达率的功能我们消息分为在线消息(openfire)离线消息 苹果apns推送在线消息:用户手机收到推送消息以后,返回一个回执业务号到后台离线消息:消息调用apsn接口苹果会返回一个成功状态值,然后也是传递一个业务号给后台应用后台根据消息业务号加用户id加入到达记录表插入之前会判断业务号and用户id是否重复查询问题就出现再这里,消...原创 2019-06-27 18:49:14 · 415 阅读 · 0 评论 -
(生产事故)openfire内存只增不减,也一直不GC
我们有一个老项目是基于openfire开发的客服以及消息推送,用户总量在300W左右,高峰期同时在线是5W人左右第一次运维反馈openfire使用内存比例占用一直在50%以上,居高不下因为是老项目,也没有特别重视(1,老项目,2,没专人维护),我们的反馈是让运维重启第二次,运行一两周以后,运维又找上我,说是内存还是占用过高,但是没有分析堆栈信息,主要从几个方面来分析1,...原创 2019-07-04 19:37:49 · 510 阅读 · 0 评论