摘要:
tcpflow以流为单位分析请求内容,非常适合服务器端接口类服务查问题这次遇到的问题跟支付宝支付后的回调post结果有关淘宝的代码例子: public void doPost(HttpServletRequest request, HttpServletResponse response)throws UnsupportedEncodingException { //»ñµÃ´ýÇ©ÃûÊý¾ÝºÍÇ©Ã& 阅读全文
摘要:
Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平台(windows,linux,max os)管理Java进程,管理JVM,启动停止,开机启动,管理内存溢出的异常 标准版还可以发错误日志email,检测死锁比自己写个启动脚本更为方便通用稳定,后台服务可以考虑使用JSW。这里使用免费的社区版,可以先直接跑一下demo看效果。基本原理就是 javaorg.tanukisoftware.wrapper.WrapperSimpleApp ,传递本程序的 阅读全文
摘要:
原以为curl 模拟post file跟post string类似,-d参数一加 ,header一加就完了,这次遇到个问题,却怎么都搞不定。curl模拟post提交与客户端定的协议是:HeaderContent-Type: multipart/form-data;BodyContent-Disposition: form-data; name="file"; filename="xx.jpg"Content-Type: image/jpeg使用curl时,想模拟客户端,结果使用--form 参数传递body时报错:IllegalArgumentExcep 阅读全文
摘要:
电话面试被问到go的协程,曾经的军伟也问到过我协程。虽然用python时候在Eurasia和eventlet里了解过协程,但自己对协程的概念也就是轻量级线程,还有一个很通俗的红绿灯说法:线程要守规则,协程看到红灯但是没有车仍可以通行。现在总结各个资料,从个人理解上说明下 进程 线程 轻量级进程 协程 go中的goroutine 那些事儿。一、进程操作系统中最核心的概念是进程,分布式系统中最重要的问题是进程间通信。进程是“程序执行的一个实例” ,担当分配系统资源的实体。进程创建必须分配一个完整的独立地址空间。进程切换只发生在内核态,两步:1 切换页全局目录以安装一个新的地址空间 2 切换内核态堆 阅读全文
摘要:
大话存储笔记提纲:不做存储看不懂,开始还有点江湖套路,不过对理解问题帮助不是特别大,后来就全是专业术语知识说明,看的比较悲催。存储历史IO与总线 讲IO,弄清楚计算机的数据流动和处理过程磁盘原理与SSD SSD问题:erase before overwrite;FG(floating gate)充放电导致二氧化硅绝缘层损耗,最终cell损坏,整个page标记为损坏,预留page耗尽,整个SSD报废。七种RAID raid0 无备份 raid1 主从模式 raid2 两块数据一块盘校验,只允许一块盘出问题。文件系统 微软道士仓库存粮三方案磁盘阵列OSIFibre Channel... 阅读全文
摘要:
代码整洁之道作者:[美]Robert C. Martin豆瓣评分:8.6代码整洁是基本的职业道德。做人要设身处地,写代码时候是否也做到了?是否不会给后来者遗留下麻烦?扪心自问,我无法回答。这本书是很有用的工具书,反思自己,指明写好代码的途径:好名字,清晰的函数,不写乱七八糟的函数。第二章 名字 给代码儿子选个好名儿:变量名需要注释,就不是好名字。 避免误导:O0l1?傻傻分不清楚。长点儿心,别给自己和别人添麻烦。 能读出来的名字,有意义的区分:genymdhms 获取年月日时分秒?什么破名字。getAccount getAccounts getAccountInfo ,到底该用哪一个? ... 阅读全文
摘要:
四个部分分析:案例场景流程解析0.94-0.96实现方案分析模拟试验及分析一、案例场景转发微博抱歉,此微博已被作者删除。查看帮助:http://t.cn/zWSudZc| 转发| 收藏| 评论本来是不同的短链码,结果删除后,会只在同一个token上操作,也就是 被=zWSudZc 引发几个操作:delete zWSudZc middecr zWSudZc shareCount引起的问题是发现写操作堵死在 zWSudZc这个rowKey上微博feed如果采用HBase,以mid为rowKey,热门微博的操作也会面临这种问题。分析这个问题前我们先要了解HBase 如何保证写一致性: 冲突预防:避. 阅读全文
摘要:
书看了不等于看懂了,无法和@yankay颜开大牛http://www.yankay.com/2012年学习小结/ 或是@吴多益-nwind 神牛http://qing.weibo.com/1644288935/6201dba733002q2u.html比回望2012,一无所成,才财色三空,气氛很是凝重,来来来,大家聊聊母猪的产后护理。。。但又仔细回想及回顾各个大牛的博客,我觉得我的2012学习总结从深度和广度上,对屌丝程序员都是更有帮助的。他们两位的有点不食人间烟火,看完你只能照着做,能不能跟他们一样牛逼?我觉得悬。我觉得 @田春冰河、王垠和@陈怀临 对我们作为屌丝的人生和学习指导意义更大,受 阅读全文
摘要:
https://github.com/sgp2004/JavaTools代码地址HBase客户端的行锁会对相同rowkey的读写造成很大影响,同一个进程并发更新rowkey的计数有可能造成阻塞(场景 热门短链点击增加 热门微博评论数).例如一个线上问题:转发微博抱歉,此微博已被作者删除。查看帮助:http://t.cn/zWSudZc| 转发| 收藏| 评论所有被删除的微博里短链被引用的计数要减一,结果因为微博内容删除,只剩一个帮助短链,计数都减到帮助短链里,导致服务器响应缓慢分析行锁关键代码总结一下:client端:1 HTable类代码,发现lockRow 和 unlockRow方法都没有 阅读全文
摘要:
机房T和机房Y共十台前端机,Y机房请求量是T的两倍,主要用于数据查询,开始问题是Y机房tomcat 相继僵死1) tomcat僵死处理步骤a 检查代码,发现read through后,没有把DB数据写到缓存,增加回写代码;但单台机器每秒请求也就几十条,HBase压力很小,最终发现无效。b 检查代码,认为跟运行几个月的动态代码在HBase使用上完全一致,所以认为业务代码层没有问题;打印堆栈信息,认为是HBase client端发现资源等待死锁的问题c 下载0.94.2 patch,分析认为其解决了死锁问题,更新jar包部署。第二周发现tomcat 日志疯狂报Interrupted错误,进程没有僵 阅读全文