分布式缓存

互联网发展的同时,也引领者相关技术的发展与变革,比如集群、高并发、负载均衡、高可用、海量数据的处理、系统安全、分布式缓存等各方面的相关技术。简单谈一下分布式缓存技术。

2、三层架构

1、web层(表现层):主要对用户数据接收,以及数据处理完成后返回,为客户端提供应用程序的访问

2、应用层:对业务的处理

3、持久层:数据访问层,即对数据的操作

表现层框架: Struts2   springmvc

应用层:spring IOC

持久层:Hibernate、mybatis

分布式缓存_第1张图片

每一层都可以做缓存。

缓存:降低延迟,呈现速度更快

            降低网络间的传输,降低用户的宽带使用


3、分布式缓存

         分布式缓存是为了解决数据库服务器和web服务器之间的瓶颈,如果一个网站的流量很大,这个瓶颈竟会非常明显,每次数据库查询消耗的时间就不容乐观,对于更新速度不是很快的网站,我们可以用静态化来避免过多的数据库查询,比如可以使用Freemarker或者Velocity来实现页面静态化。对于更新数据以秒级的网站,静态化也不会太理想,可以通过分布式缓存来解决。比如Redis、MemCache、SSDB等。

         分布式缓存的出现,有以下原因

         1、在互联网或者电商应用系统中,业务需求复杂,必须对整个的业务系统进行垂直拆分,保证各个业务模块清晰并且对外提供服务。

         2、用户的群体广泛,就必然存在高并发问题,如果将应用系统部署在单个节点服务器上,势必会对单个服务器造成巨大的访问压力,因此我们需要将应用系统部署到不同的节点上,同时也要讲不同的数据分散到不同的节点上。

         3、互联网时代,即大数据时代,数据为王。

在web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库的负载,缓存是解决这个问题的号办法。Redis就是一个高性能的、分布式的内存对象缓存系统,用于在动态应用中极少数据库负载,提高访问速度。

        下图是一个简单的分布式缓存系统。在用户第一次发送请求时,从RDBMS中获取数据并返回,同时经数据保存分布式缓存系统中;当用户再次发送请求时直接从缓存中获取、提高性。同时我们这里的Redis做集群并且做主从策略,实现高可用框架。

分布式缓存_第2张图片

 

你可能感兴趣的:(分布式缓存)