大话集群和负载均衡,一看全明白( 三 )


最少连接数
最快响应
Hash法
大话集群和负载均衡,一看全明白
本文插图
3:缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度 。 缓存是改善软件性能的第一手段 , 现在CPU越来越快的一个重要因素就是使用了更多的缓存 , 在复杂的软件设计中 , 缓存几乎无处不在 。 大型网站架构设计在很多方面都使用了缓存设计 。
CDN缓存
内容分发网络 , 部署在距离终端用户最近的网络服务商 , 用户的网络请求总是先到达他的网络服务商哪里 , 在这里缓存网站的一些静态资源(较少变化的数据) , 可以就近以最快速度返回给用户 , 如视频网站和门户网站会将用户访问量大的热点内容缓存在CDN中 。
反向代理缓存
反向代理属于网站前端架构的一部分 , 部署在网站的前端 , 当用户请求到达网站的数据中心时 , 最先访问到的就是反向代理服务器 , 这里缓存网站的静态资源 , 无需将请求继续转发给应用服务器就能返回给用户 。
本地缓存
在应用服务器本地缓存着热点数据 , 应用程序可以在本机内存中直接访问数据 , 而无需访问数据库 。
分布式缓存
大型网站的数据量非常庞大 , 即使只缓存一小部分 , 需要的内存空间也不是单机能承受的 , 所以除了本地缓存 , 还需要分布式缓存 , 将数据缓存在一个专门的分布式缓存集群中 , 应用程序通过网络通信访问缓存数据 。
3: 流控(流量控制)
流量丢弃
通过单机内存队列来进行有限的等待 , 直接丢弃用户请求的处理方式显得简单而粗暴 , 并且如果是I/O密集型应用(包括网络I/O和磁盘I/O) , 瓶颈一般不再CPU和内存 。 因此 , 适当的等待 , 既能够替身用户体验 , 又能够提高资源利用率 。
通过分布式消息队列来将用户的请求异步化 。
作者:阿苍老师
来源:www.cnblogs.com/nullering/p/9311151.html