美文网首页程序员
Java高级编程——微服务为什么要设计缓存?

Java高级编程——微服务为什么要设计缓存?

作者: 远方的梦Java | 来源:发表于2018-07-24 15:11 被阅读79次

    在高并发场景下,需要通过缓存来减少数据库的压力,使得大量的访问进来能够命中缓存,只有少量的需要到数据库层。由于缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以对于高并发设计,缓存的设计是必不可少的一环

    那么我们为什么要设计缓存呢?

    为什么要使用缓存呢?源于人类的一个梦想,就是多快好省的建设社会主义。

    多快好省?很多客户都这么要求,但是作为具体做技术的你,当然知道,好就不能快,多就没法省。

    可是没办法,客户都这样要求:

    这个能不能便宜一点,你咋这么贵呀,你看人家都很便宜的。(您好,这种打折的房间比较靠里,是不能面向大海的)

    你们的性能怎么这么差啊,用你这个系统跑的这么慢,你看人家广告中说速度能达到多少多少。(您好,你如果买一个顶配的,我们也是有这种性能的)

    你们服务不行啊,你就不能彬彬有礼,穿着整齐,送点水果瓜子啥的?(您好,我们兰州拉面馆没有这项服务,可以去对面的俏江南看一下)

    这么贵的菜,一盘就这么一点点,都吃不饱,就不能上一大盘么。(您好,对面的兰州拉面10块钱一大碗)

    怎么办呢?劳动人民还是很有智慧的,就是聚焦核心需求,让最最核心的部分享用好和快,而非核心的部门就多和省就可以了。

    你可以大部分时间住在公司旁边的出租屋里面,但是出去度假的一个星期,选一个面朝大海,春暖花开的五星级酒店。

    你可以大部分时间都挤地铁,挤公交,跋涉2个小时从北五环到南五环,但是有急事的时候,你可以打车,想旅游的时候,可以租车。

    你可以大部分时间都吃普通的餐馆,而朋友来了,就去高级饭店里面搓一顿。

    在计算机世界也是这样样子的,如图所示。

    越是快的设备,存储量越小,越贵,而越是慢的设备,存储量越大,越便宜。

    对于一家电商来讲,我们既希望存储越来越多的数据,因为数据将来就是资产,就是财富,只有有了数据,我们才知道用户需要什么,同时又希望当我想访问这些数据的时候,能够快速的得到,双十一拼的就是速度和用户体验,要让用户有流畅的感觉。

    所以我们要讲大量的数据都保存下来,放在便宜的存储里面,同时将经常访问的,放在贵的,小的存储里面,当然贵的快的往往比较资源有限,因而不能长时间被某些数据长期霸占,所以要大家轮着用,所以叫缓存,也就是暂时存着。

    欢迎关注笔者,笔者持续更新。

    相关文章

      网友评论

        本文标题:Java高级编程——微服务为什么要设计缓存?

        本文链接:https://www.haomeiwen.com/subject/ewzemftx.html