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

一、缓存
- 缓存数据通常来自于内存,比磁盘上的数据有更快的访问速度。 
- 缓存存储数据的最终结果形态,不需要中间计算,减少CPU资源的消耗。 
- 缓存降低数据库、磁盘、网络的负载压力,使这些I/O设备获得更好的响应特性。 
缓存的优点:
- 支持大数据量存储,不受应用进程重启影响; 
- 数据集中存储,保证数据一致性; 
- 数据读写分离,高性能,高可用; 
缓存的常见问题:
- 缓存击穿(更新缓存时使用分布式锁锁住服务,防止请求穿透直达DB); 
- 缓存穿透(放入一个特殊对象); 
- 缓存雪崩(缓存时间使用基本时间加上随机时间)。 
二、消息队列,异步框架
消息队列调用架构:
- 点对点模型 
- 发布订阅模型 
消息队的优点:
- 对结构复杂、设计系统多的操作进行解耦操作,降低系统的操作复杂度、降低系统的维护成本; 
- 对一个可以进行异步操作的一些系统操作进行异步,减小操作的响应时间,提供更好的用户体验; 
- 可对高流量进行削峰,保证系统的平稳运行。 
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题
实现高性能,高可用,可伸缩和最终一致性架构
使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,RocketMQ
三、负载均衡
- 反向代理负载均衡 
- IP层的负载均衡 
- 数据链路层负载均衡 
四、数据库
MySQL主从复制、主主复制的原理如下:
- 主从复制,通过主服务器对数据库的操作写BinLog,从而通知到从服务器,写服务器的RelayLog。异步通知从DB根据RelayLog进行SQL执行。通过多台从服务器,从而提供多台对外的数据读取服务。 
- 主主复制,不会两台主DB同时写,避免数据冲突。每台BinLog都是接收直接的数据库操作;而Relay Log负责从另一台操作读取同步信息。 












 
    
评论