2017-11-03
最近帮一个业务排查问题,发现业务日志里面好多下面的错误:
1io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 16777216 byte(s) of direct memory (used: 520093983, max: 536870912)
看日志就知道是Direct B...
Read More
2017-10-23
好悲伤的感觉。。。
Read More
2017-10-23
在分布式领域,熟悉一些基本的概念,比如,2PC,3PC,最近在优化一个项目的数据访问,接触到一个概念:2PL,两阶段锁, innodb引擎里面的加锁协议,保证单机事务的隔离和一致性。
例子先看下面两个方案:
方案一:
12345678begin; //1. 扣减库存update item_stock set count=count-1 where ...
Read More
2017-09-27
最近在参考阿里的rocketMQ来优化我们自己的mq,发现一段有意思的代码:
1234567891011121314MappedFile.javapublic AppendMessageResult appendMessage(final MessageExtBrokerInner msg, final AppendMessageCallback cb) &...
Read More
2017-09-21
过了好久才决定正式读银河帝国-基地系列,读了好久才读完。
读起来最纠结的就是第四部:基地前奏。可能是读国内的玄幻有点多,总是期望谢顿灵感一现的那一刹震撼:心理史学就那么建立起来了。但是,作者就这么折磨人的花了一本书,从谢顿三十,写到四十,写到八十,心里史学的框架才慢慢搭建起来,一直等待谢顿死了,心里史学也才是初见眉目,后续经历了好几代人的努力,那些复杂的公...
Read More
2017-09-20
最近在折腾公司打点日志(trace跟踪日志,类似阿里的鹰眼)的实时分析,大概总结一下。
实时流处理的技术越来越成熟,相对于spark而言,flink的模型已经抽象的很好;幸好我是从beam开始切入了解流处理的,现在回头看一些spark以及spark stream,flink的概念就很好懂了。
流处理基本概念如果你想了解流处理,一定要看下面两篇文章:
the...
Read More
2017-08-31
最近在梳理公司的大数据处理的流程,运维HBase的同事反馈我们中间件的链路收集日志(类似阿里的鹰眼)给HBase造成的压力最大,问我能不能优化一下。在优化的过程中,梳理了整个链路的反压处理,意识到在流处理,甚至在普通的大流量处理里面,这是一个很重要的问题,结合自己在消息系统的经验,在这里总结一下。
反压问题的场景反压问题,说直白点就是当系统有压力的时候,我们...
Read More
2017-08-25
公司某个业务总是发现机器CPU偏高,要求运维扩容,结果扩容后,过了一段时间CPU还是涨了上来,又要求扩容。运维觉得老是这么扩容不是办法,就拉我一起看看问题出在哪儿。
问题定位在另外一篇文章里,介绍了如何使用perf排查cpu偏高的问题,接到问题后,马上使用perf map agent看了看,很明显就找出来耗CPU的地方:
123456789101112131...
Read More
2017-08-09
升级了公司的Dubbo到3.0.0版本,然后推动业务升级,结果,业务反馈升级后,rt拉高了2~3ms,由于业务的整体rt才在7ms左右,所以,这次升级对业务的影响还是很大的,业务决定回滚,而我这边就开始了问题的排查
现象根据我们的监控,可以很明显看到升级新的dubbo后的rt变化:
同时,观察了升级后的cpu变化:
现在看,升级新的dubbo后,直接的结...
Read More
2017-08-02
很早之前读过,又看了一遍,值得推荐。
书里面的情节我觉得一般,但是,我比较喜欢作者的构造出来的这个“永恒时空”,我在很长的时间,都在想,如果真的存在就好了,最近突然想到一个乱七八糟的想法,觉得“永恒时空”不可能存在,就郁闷了好久。
上面是永恒时空的大概样子:在一般时空之上,有一个永恒时空的存在,永恒时空的人,负责穿梭于一般时空的各个时间点,对人类的行为进...
Read More