第五周 架构方法学习总结

用户头像
兵长
关注
发布于: 2020 年 10 月 25 日

一、缓存命中率

缓存是否有效依赖于 能多少次重用同一个缓存响应业务请求,这个度量指标被称作缓存命中率。

比如:如果查询一个缓存,十次查询九次能够得到正确的结果,那么它的命中率是90%

主要有以下三个指标:

1、缓存键集合大小

缓存键数量越少,缓存的效率越高。

2、缓存可使用内存空间

缓存可使用的内存越多,可缓存的数据越多,命中率越高

3、缓存对象生存时间

对象缓存的时间越长,缓存对象被重用的可能性就越高



二、常用缓存

1、代理缓存

2、反向代理缓存

3、多层反向代理缓存

4、CDN



三、缓存类型

1、通读缓存

客户端请求访问缓存,如果缓存中不存在,则缓存访问数据源获取数据,再返回给客户单

2、旁路缓存

客户端请求缓存,如果缓存中不存在,则客户端请求数据源,然后将结果保存至缓存中



四、问题

1、缓存雪崩

由于缓存失效或者不可用,导致压力转移到数据库,从而导致整个系统不可用

2、缓存穿透

请求缓存中不存在的数据,使得缓存没起到作用

3、缓存预热

缓存刚启动时,需要一个预热的过程



五、负载均衡算法

1、轮询法

  将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

2、随机法

     通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,

其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。

3、源地址哈希法

     源地址哈希的思想是根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

4、加权轮询法

  不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。

5、加权随机法

     与加权轮询法一样,加权随机法也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是按照权重随机请求后端服务器,而非顺序。

6、最小连接数法

     最小连接数算法比较灵活和智能,由于后端服务器的配置不尽相同,对于请求的处理有快有慢,它是根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。



六、应用服务器集群的Session管理

1、Session复制

应用服务器开启Web容器的Session复制功能,在几台服务器之间同步Session对象,每台服务器都保存所有用户的Session信息。

优点:从本机上读取Session信息快速,任一机器宕机不影响使用。

缺点:集群规模较大时,服务器间需要大量的通信进行Session复制,占用服务器和网络的大量资源。只能在集群规模较小的情况下使用。

2、Session绑定(会话黏滞)

利用负载均衡的源地址Hash算法实现,负载均衡服务器总是将同一IP地址的请求分发给同一台服务器,这时负载均衡服务器必须工作在HTTP协议层。这样整个会话期间,用户所有的请求都在同一台服务器处理,Session绑定在某台特定服务器上。

缺点:不符合高可用需求,某台服务器宕机,该机器上Session就不存在了。

3、Cookie记录Session

浏览器Cookie记录Session。

优点:简单易用,支持应用服务器线性伸缩

缺点:受Cookie大小限制,能记录的信息有限;每次请求响应都要传输Cookie,影响性能;用户关闭Cookie,访问不正常。

4、Session服务器

利用独立部署的Session服务器(集群)统一管理Session,应用服务器读写Session时,都访问Session服务器,将应用服务器的状态分离,分为无状态的应用服务器和有状态的Session服务器(利用分布式缓存、数据库)。Cookie 里面记录一个Session ID,当Cookie被禁用时,使用URL重写技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。

优点:可用性高,伸缩性好,对信息大小无限制。



用户头像

兵长

关注

还未添加个人签名 2018.03.16 加入

还未添加个人简介

评论

发布
暂无评论
第五周 架构方法学习总结