【第五周】学习总结——缓存、消息队列、负载均衡

用户头像
三尾鱼
关注
发布于: 2020 年 07 月 05 日

1、分布式缓存架构



缓存的关键指标:命中率

影响命中率的因素:缓存键集合大小,可用存储空间大小,缓存对象存活时间



缓存方式分类:通读缓存、旁路缓存、异步缓存



各种介质数据访问延时



实践

分布式缓存,分片存储缓存对象,在伸缩节点时,如果大面积缓存失效,可能引起雪崩场景

解决方法:一致性hash



缓存问题:缓存穿透、缓存击穿、缓存雪崩



2、消息队列与异步架构

消息队列好处:更好的伸缩性,削峰填谷,失败隔离与自我修复,解耦

Kafka,RocketMQ,RabbitMQ



生产者和消费者压力示例



3、负载均衡架构



1、应用层负载

服务器较少,直接使用Nginx提供负载均衡

2、使用链路层负载

服务器较多,且响应带宽存在压力的场景,LVS,F5



3、多级负载

由DNS提供一级负载,再结合链路层负载,一起完成负载



大型互联网项目都是组合型多级负载



Session共享问题

1、中心缓存模式

比如由Redis提供统一session存储

2、加密令牌模式

比如JWT,微服务一般采取该种方案



3、Session复制

服务器少的时候还可以,一旦服务器多了,就特别耗网络和系统资源



4、Session绑定

服务更新维护部署,会直接导致该主机session全部失效

不支持伸缩,简单的ip hash方式在节点伸缩时会发生部分绑定偏移





4、小结

缓存是提升性能的一大利器,缓存就是当缓存用,缓存也有很多知识点和需要面对的挑战,可以深入学习

消息队列是大并发、异步、解耦等场景使用的一个基础中间件,是必须熟悉的,有时间要对其内部原理做更多学习理解

负载均衡是集群高可用的一个基础组件,基于之前项目中的接触了解,继续踏实和扩展学习。

用户头像

三尾鱼

关注

还未添加个人签名 2018.07.10 加入

还未添加个人简介

评论

发布
暂无评论
【第五周】学习总结——缓存、消息队列、负载均衡