【51CTO.com原创稿件】七年一剑,华丽蜕变。自2012年起连续6年15场峰会,凝聚大量技术专家,博观而约取,厚积而薄发。2018WOT全球软件与运维技术峰会扬帆起航,围绕12大核心热点,汇聚海内外60位一线专家,打造高端技术盛宴!
在大会第二天即5月19日下午《高并发与实时处理》分论坛现场,同程旅游首席架构师王晓波将有一场主题演讲,主要围绕高并发场景的缓存治理问题展开。51CTO记者在会前采访了他,请他提前“剧透”一下演讲精彩内容。
缓存系统崩溃的两大杀手
王晓波介绍道,之所以他会重点分享高并系统中的缓存系统崩溃问题,是因为往往大部分缓存系统的崩溃问题并非来自缓存系统本身性能不够,而是因为各种系统中对缓存的胡乱使用,无脑使用。
何为缓存胡乱使用?王晓波解释道,这是指对缓存的使用场景和缓存的数据不加以分析和隔离,以大杂烩的方式在使用缓存,这样就会造成一个缓存系统对面的是高中低的多种并发要求,又会造成一个缓存系统中存储的数据是大中小的多种数据类型,最后还会造成缓存的使用方是N种不知为何物的系统调用,想降级相当难。
那么何为无脑使用?这是指对缓存的使用不区分缓和存的不同,对缓存使用一味的银弹化,认为只要用了就高并发了。这样的无脑使用情况下缓存有时就变成了数据库,有时因为个单点的使用强型让缓存失去分布式的能力。银弹化后的缓存的也让缓存做了更多不应该它做的事情。综上的问题要解决那就是缓存的治理了。
王晓波将听众的收获归纳成三点:一是了解如何让缓存更高并发地使用;二是学会如何用好缓存,用正确缓存;三是了解如何通过治理让缓存的问题化为无形。对于很多人来说,这三点收获将是真正的干货,算是高并发实战宝典了,感兴趣的网友就快来报名吧!名额不多了噢!
让缓存治理进入“不死鸟”模式
当记者问及高并发场景出现的本质原因时,王晓波告诉记者,高并发的决解是一个系统工程,其中对于的数据的存职,数据的计算等数据的I/O是让系统无法高并发的一个很重要的原因。“那么要解决这个数据I/O的速度问题,简单的方法就计算结果临时的存储起来,这样的临时存储就叫作缓存,正因为是结果集的直接查取并且查取方式也使用了更快速的方式比如KV,这样一来系统的高并发自然有了缓解。”王晓波谈到。
在实践方便,同程旅游也有不少经验可以分享。记者了解到,高并发的缓存治理这个领域同程旅游很早就开始尝试了,他们把所有要做到的点统统收集到一套叫作“凤凰”缓存系统,它是一个缓存的私有云,黑合式的使用,对应用系统无感的治理了缓存。
王晓波透露,没有实施缓存治理之前的缓存系统用的乱,用的杂,往往是系统的噩梦。但治理之后的缓存因为对使用方式的正确化,使用场景的隔离化,数据量的合理分配,缓和存的分离之后基本是一个不死鸟式的系统了。他举例告诉记者,之前经常能发现一些存储量超大的缓存,上T的多有,他细看一下内容并不是一个场景下的数据,也不是一个类型的数据,使用方之间也有相关不大的系统,更有发现一个KEY内存了20G的数据,一小故障基本就完了。在治理之后自然是化解了,当然这个治理对应用系统方是无感的。
难绕开的三道关
事实上,缓存治理工作也并非一帆风顺,同程旅游也遇到过一些困难。王晓波表示,困难主要集中在三个方面:
一是如何让应用无感的合理使用缓存,因为之前更多是靠编程规范,和设计规范,但这些全以人为本的主观要求,往往因人不同结果也不同,所以同程旅游的做法用是一个系统来解决,不用规范。
二是对现有的已经在乱用的缓存,如何迁移。因为这是在线运营的系统,可能非常脆弱,对这样的情况,同程旅游最后做了一个专用的迁移系统来处理。
三是对缓存的研发方案问题,是选择自研,还是选择开源?最终他们选择在开源基础的系统平台化研发。
采访最后,王晓波告诉记者,缓存处理除了去挖掘性能,应该可以再更多的挖掘成本。因为现在缓存使用被应用在各个系统中,通常的情况下,这些缓存需要占用大量内存,众所周知内存的成本很高,那如何去减少内存的使用,或者在一些场景中不用内存,这个价值点十分值得挖掘。
5 月 18 - 19日,北京•粤财JW万豪酒店,全球最值得关注的IT技术盛宴与您不见不散。2018WOT全球软件与运维技术峰会一定是您发现全新思路、挖掘最新思想、拓展人脉的重要平台。
目前我们的各项票种已全面发售。需要提醒您的是,购票越早,折扣越大!与KOL零距离交流,呈现不一样的“英雄盛宴”!
点击官网了解详情:wot.51cto.com
9折预售中,抢票从速。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】