写点什么

架构师训练营第五周学习总结

用户头像
文智
关注
发布于: 2020 年 10 月 25 日
  • 分布式缓存——提高多次读取数据的效率

  • 影响缓存命中率的指标有缓存键集合大小、缓存可用内存空间大小、缓存对象生存时间(TTL)

  • 通读缓存(代理、反向代理、CDN)为客户端返回资源,并在请求未命中缓存时获取实际数据,旁路缓存(浏览器对象缓存、本地对象缓存、分布式对象缓存)的应用代码首先询问对象缓存需要的对象是否存在,如果存在则获取并使用缓存对象,如果不存在或已过期则从数据源获取对象并保存回对象缓存

  • 频繁修改和没有热点的数据不适合缓存,读写比在 2:1 以上才有缓存的意义

  • 缓存设计需要注意缓存雪崩、缓存穿透等问题,并且需要考虑缓存预热,而缓存预热加载的热点数据有 LRU 算法对不断访问的数据筛选淘汰而来

  • 一致性 hash 算法使增加缓存服务器节点使只影响一小段 key 的查找,避免大部分 key 不能命中时给应用服务器和数据库造成巨大的压力。基于虚拟节点的一致性 hash 算法能均匀减小缓存服务器节点的压力

  • Redis 集群与之 16384 个桶,并维持物理节点与桶的映射关系,key 放入桶中,所有 Redis 节点彼此互联,客户端可以连接任一可用节点

  • 消息队列——提升写性能,加快返回速度

  • 消息队列常用模型有点对点模型和发布订阅模型

  • 消息队列的优点:

  • 能让系统对消费者更有针对性地进行伸缩

  • 能削峰填谷,提高服务器计算能力地利用率

  • 能实现失败隔离和自我修复

  • 能解耦生产者和消费者

  • 负载均衡

  • 小型系统通常采用反向代理负载均衡,这种负载均衡性能较低,已于实现

  • 大型系统可采用 DNS 和链路层多重负载均衡

  • 常用的负载均衡算法有轮形、加权轮询、随机、最少连接、源地址散列等,其中源地址散列可保证同一来源请求在同一服务器上处理,可实现会话粘滞

  • Session 的管理方式有:

  • Session 复制,增加资源和性能压力

  • Session 绑定,不具高可用性

  • 使用 Cookie,常用,不过 Cookie 大小有限,而且有些场景 Cookie 会被禁用

  • Session 服务器,能让应用服务器无状态化,更利于服务器的伸缩


发布于: 2020 年 10 月 25 日阅读数: 33
用户头像

文智

关注

还未添加个人签名 2018.11.29 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第五周学习总结