想起来几年前挺火的前岛国国民女神学霸-小岛方晴子。当时替她说话的人都很惨,导师被逼自杀。她收到的压力侮辱不是常人可以想象的。但是她却坚强的活着,去年还出了书。我去日本的时候,下了新干线,前面有一群女学生,她们看到我了,立刻聚集成一团,一边看我一边说悄悄话。我才发现日本人穿的衣服基本就是黑,白,灰。他们也不穿羽绒服,女孩子大冬天都是光着腿。而我穿着黄绿色的羽绒服,确实像个怪胎。为什么来之前没人告诉我[大哭][大哭]。8年过去了,想起来还觉得尴尬。日本人是很爱背后说别人坏话的。所以我感谢我是个很普通的女孩子,而且生在中国。没人闲的没事去扒我之前做过的坏事。比如我很久前看不惯一个自己没能力还势利的混蛋,所以写了个程序刷爆了他的邮箱。再比如我自己写了个小程序循环注册一个网站参加抽奖,得了好多小东西。
但是女孩子天生就是很坚强的,女孩子为爱而活,其他的什么都扛的下。写《傲慢与偏见》的女作家简.奥斯汀,大家看到她写的书的女主角们大概都能想象到作者本人是个聪明,智慧,自己漂亮且有一个更漂亮的姐姐,又很幽默的女孩。但是她却在自己心爱的男孩子傍了个富婆之后终生未嫁,高富帅向她求婚她没同意。一生寄人篱下,与恋人死去不愿做他人妇的姐姐相依为命,心中的痛苦又与谁人说。30多岁开始患有严重的忧郁症,直到她得知自己心爱的男孩去世的消息,自己也郁郁而终。感恩自己运气好,可以快快乐乐做个普通人。
我们部门并发量最大的接口服务前段时间发生了几次业务端的流量猛增,扛不住的情况。瓶颈在缓存上。根本性的改造正在进行中。谈一谈这段时间由这个问题引发的思考。
首先说之前的架构确实很老了,现在直接负责这个服务的男神哥哥也很年轻,有问题是正常的。缓存选用的是乐视统一的couchbase集群,是个memcached升级版,已经实现了持久化,本质是一个文档型的数据库,有人评价其性能要超过mangoDB。然后乐视网封装了它,自己起名叫cbase,前面用moxi代理。实际上使用觉得其性能让人擦汗。
接口服务将数据库里的全量视频和专辑刷入缓存。缓存扛不住了都不会穿透DB。这里我只想说:如果咱们要是发现数据库可能要雪崩,做熔断,做隔离都是可取的。但是完全不用,要它作甚[汗]. 媒资接口是一个多维度的查询服务,缓存直接当DB用,而这个缓存的结构对数据的计算是很不利的。从数据库里取数据耗时一般也就是几ms。从缓存中取数据量级并没有减少,还会过量使用缓存造成cbase集群的高负载。而且mysql是有自己的缓存的,查询一点儿都不慢,加上索引,线上已经有的读写分离,其他成熟的技术,性能也不差。业务复杂性大大增加,业务处理的CPU计算量大大增加,实际性的缓存的高速也微乎其微。
话说到此,先比较一下mysql和memcached。