大数据架构师教你如何设计缓存架构_光环it学院培训机构
-
资源ID:50315767
资源大小:45.79KB
全文页数:5页
- 资源格式: DOCX
下载积分:0金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
大数据架构师教你如何设计缓存架构_光环it学院培训机构
光环光环 IT 学院学院中国中国 IT 就业培训知名品牌就业培训知名品牌光环光环 IT 学院学院 http:/it.aura.cn大数据架构师教你如何设计缓存架构大数据架构师教你如何设计缓存架构_光环光环 it 学院培训机构学院培训机构由于大数据的迅猛发展,数据呈几何倍数增长,大家不得不讨论关于系统性能的优化问题,而谈到性能优化,势必要谈到缓存架构的设计与使用。几乎是所有人都知道缓存的威力,但是知道终归只是知道,如何真正合理的在自己的项目中进行使用,又是另外一回事了,还是用几个问题来探讨一下,让正在学习大数据的小伙伴更好的了解缓存技术。在哪些地方可以使用缓存?这里用一个图可能表述的更加清楚!不仅仅如此,还有数据库本身也会有缓存,而且操作系统也有会缓存一些数据。所以,充分的使用好缓存,对性能提升相当的大。既然谈到缓存,那么就谈细致一点,因为很多时候:谈大帽子的话很多人都会滔滔不绝,但是一到真实的细节与落实的地方,很多人就偃旗息鼓了。首先就来看看浏览器的缓存。做过网站的朋友都知道,这个设置主要就是通过设置:Cache-Control 这个响应头来实现的,如下:不同的技术平台,实现的方式不一样,大家也不要纠结这些平台的差异,只要最后结果是一样的就 OK 了,要怀着包容心去看每一种技术,如果连技术的差异性都无法容忍,未必也太小家子气了,呵呵呵。浏览器缓存可以缓存图片,js,css,当然,还可以把一些数据,通过 js 对象的形式保存在浏览器中。浏览器缓存的问题主要在于图片,js,css 的更新上面。光环光环 IT 学院学院中国中国 IT 就业培训知名品牌就业培训知名品牌光环光环 IT 学院学院 http:/it.aura.cn例如如果我们设置了缓存的时间为 1 一个月,那么这些资源很有可能就在一个月还没有到就因为我们发布新的版本而更新了。这个时候,浏览器不会知道的,还是会使用老的版本。这不是我们希望看到的,解决的办法也是很简单,如果大家留心点,就会发现很多的站点的 js,css 是这样命名的:XXX-1.2.js下面看代理缓存,代理缓存的问题,主要出现在三个方面:1.安全2.地区问题3.内容更新问题首先,对于安全问题,这是最大的问题:因为代理会把根据 URL,把整个页面的数据缓存起来,其中就包括了响应头,那么就包含了 cookie 信息。问题就在这里啦,如果用户A 登录之后,代理缓存了页面的响应,那么用户 B 在此请求相同的页面的时候,那么整个响应就会给 B 了,这个时候,用户 B 就可以以 A 的身份进去瞎搞了。对于这个问题,没有办法解决,但是有办法避免:把一些不需要用户登录就可以访问的页面,特别是那些静态的内容的页面,可以设置代理缓存;涉及到用户验证才能看的页面,不要设置了。其次,就是地区问题,因为代理缓存了整个页面,而且是根据 URL 来匹配的,如果咱们中国人去访问一个页光环光环 IT 学院学院中国中国 IT 就业培训知名品牌就业培训知名品牌光环光环 IT 学院学院 http:/it.aura.cn面,例如 www.agilesharp.com/blog/12344,这个时候,代理缓存就把这个中文的页面内容缓存,如果我们的站点是支持多语言的,那么,此时,如果美国人去访问了同一个 URL,那么这个时候,或许,请求不会提交给我们的服务器,代理就会把中文的页面内容给老美,那叫一个郁闷,是吧。怎么办?呵呵,方法虽然鲜为人知,但是依然简单。设置头信息:Accept-Language在发送中文响应的时候,设置为:Accept-Language: zh-cn,那么代理缓存就会缓存这个版本的内容如果是请求的英文,那么,老美的浏览器发送的请求的这个 Accept-Language 的信息就是 en-US,代理一看这样版本的内容没有,那么就会把请求交给我们的服务器了。最后的结果就是代理中缓存了同一个页面的不同版本的内容好了,现在到了服务器端了,首先看看内核缓存!其实这个内核缓存就涉及到操作系统和宿主(IIS,Apache 等)说实在的,我对 Windows 操作系统和 IIS 比较了解,对其他的不清楚,但是我相信:原理和思想都是一样的!我先以 Windows 和 IIS 为例子吧,说完之后,如果熟悉 Liunx,Apache 等其他平台的朋友,可以一并分享一下。当一个请求被 HTTP 监听者(HTTP.sys)接受之后,它根据请求的 URL 进行匹配,然后马光环光环 IT 学院学院中国中国 IT 就业培训知名品牌就业培训知名品牌光环光环 IT 学院学院 http:/it.aura.cn上就把请求放在一个内核模式的不同的队列中,以便这些请求可以被用户模式中的应用程序池中工作进程获取,然后处理。这里之所以要把请求放在队列中是为了快速的释放 HTTP监听线程,从而使得 HTTP.sys 可以接受其他更多的请求。另外,请求被放在不同的队列,主要是根据请求的 URL 来分组的,并且应用程序池中也配置了处理何种 URL。当响应产生之后,响应会被再次发送给 HTTP.sys(大家可以看到图中第 5 个步骤) ,然后再把响应发送给客户端。HTTP.sys 可以基于一些配置将响应进行缓存,我们会在后面进一步的讨论。这里有一点非常中的就是:HTTP.sys 将响应缓存在内核中,并且这个内核中的这个缓存空间是不分页的。不分页就意味着 HTTP.sys 总是将响应的内容缓存物理的内存中,而且这一块内存不会被交换出去,就是说不会被分页到磁盘上面。这涉及到了 Windows 操作系统的内存管理机制,大家自学去吧,呵呵。当请求的响应被缓存在了内核模式之后,下次再次请求的时候,可以直接的读取缓存,而后续的步骤全部跳过,这会极大的提升性能。为什么大家会选择为什么大家会选择光环光环 it 学院学院?光环 it 学院讲师均为实战专家,具备 10 年以上软件开发经验,五年以上大数据实战经验,上市品牌,行业口碑好。光环 IT 学院与中关村达成战略合作,并签署合作协议,用海量优质企业资源保障学员顺利就业。学员在入学光环 IT 学院之前签署高薪就业培训协议,保障学员切身利益,让学员毕业即可获得自己满意的工作。光环光环 IT 学院学院中国中国 IT 就业培训知名品牌就业培训知名品牌光环光环 IT 学院学院 http:/it.aura.cn学员毕业后平均薪资 10500,虽然不高但却真实!大数据培训大数据培训,java 培训培训,就选光环 it 学院!【报名方式】最新开班时间:2017.6.26光环大数据官方网站报名:http:/it.aura.cn手机报名链接:http:/it.aura.cn/mobile/