写点什么

架构师训练营第五周总结

用户头像
王鑫龙
关注
发布于: 2020 年 07 月 08 日

第五周主要讲缓存、消息队列与异步架构、负载均衡、分布式数据库等。


  • 常用缓存:


  • 缓存特点:

1.高速

2.命中率要高

3.缓存键

4.缓存可使用内存空间

5.缓存对象生存时间


  • 缓存分类:

通读缓存:


旁路缓存:


  • 分布式对象缓存的一致性 Hash 算法

主要解决增加或删除节点可能引起的缓存雪崩问题。

算法的要点在于对节点进行 Hash 运算得出节点的 Hash 值。

Key 获取存储服务器的时候,先计算 Hash 值,然后按顺时针顺序拿最近的节点。

当删除一个节点时,则自动拿到下一个节点;当增加一个节点时,新增的节点会截获一部分 Key。

还可以增加虚拟节点,以提高分布均匀性。


  • 各种介质数据访问延迟

由这个表可以看出操作数据尽量使用前三种,可大大节约操作时间。


  • 技术栈各个层次的缓存


  • 合理使用缓存

1.频繁修改的数据不要缓存

2.没有热点的数据不要缓存

3.注意数据不一致或脏读

4.注意缓存雪崩

5.缓存预热

6.缓存穿透:读取不存在的数据时发生,策略:将高频不存在数据存储在缓存中(value 设置为 null)


  • 常用缓存

redis 和 memcache


  • 消息队列与异步架构


  • 负载均衡架构


几种常用的负载均衡架构

HTTP 重定向负载均衡

优点:

缺点:

实现:


DNS 负载均衡

优点:

缺点:

实现:


反向代理负载均衡:

优点:

缺点:

实现:nginx


IP 负载均衡

优点:

缺点:

实现:


数据链路层负载均衡

优点:

缺点:

实现:


  • 负载均衡算法


  • 负载均衡的 Session 管理

Session 复制


Session 绑定


利用 Cookie 记录 Session


Session 服务器


  • 分布式数据库

MySQL 主从复制

MySQL 一主多从

优点:

分摊负载

专机专用

便于冷热备

高可用


MySQL 主主复制

MySQL 主主失效恢复

MySQL 主主失效的维护过程

MySQL 复制注意事项:


  • 数据分片

  • NOSQL

CAP 原理

  • ZooKeeper

  • 搜索引擎

发布于: 2020 年 07 月 08 日阅读数: 58
用户头像

王鑫龙

关注

还未添加个人签名 2018.02.04 加入

还未添加个人简介

评论

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