写点什么

第五周 技术选型(1)学习总结

用户头像
钟杰
关注
发布于: 2020 年 10 月 25 日

一、内容梳理

分布式缓存

什么是缓存

存储在计算机上的一个原始数据复制集,以便于访问

缓存数据存储

数据结构:通常是哈希

存储介质:内存

缓存关键指标

缓存命中率

缓存命中率影响要素

1.缓存键集合大小

2.缓存可使用内存空间

3.缓存对象生存时间

常见缓存实现形式

通读缓存:代理缓存、反向代理缓存、多层反向代理缓存、内容分发网络(CDN)

旁路缓存:浏览器对象缓存、本地缓存、远程分布式对象缓存

缓存为什么能显著提升系能

1.来自内存,比磁盘访问快

2.缓存计算结果,减少 CPU 资源消耗

3.降低数据库、磁盘、网络 负载

合理使用缓存要素

1.频繁修改数据

2.没有热点访问

3.数据不一致,脏读

4.缓存雪崩

5.缓存预热

6.缓存穿透

消息队列

构建异步架构

1.点对点

2.发布订阅

消息队列好处

异步处理,提升处理性能

更好伸缩性

削峰填谷

失败隔离

解耦

主要产品

RabbitMQ

ActiveMQ

RocketMQ

Kafka

负载均衡

负载均衡实现方法

1.HTTP 重定向负载均衡

2.DNS 负载均衡

3.反向代理负载均衡

4.IP 负载均衡

5.数据路由层负载均衡

负载均衡算法

轮询

加权轮询

随机

最少连接

源地址散列

应用服务器集群 Session 管理实现方案

1.Session 复制

2.Session 绑定

3.Cookie 记录 Session

4.Session 服务器


二、收获和体会

对分布式缓存原理、关键指标、常见实现形式和如何合理使用有了系统认识;对消息队列应用场景有了系统和整体的了解;对负载均衡实现方法、负载均衡算法以及应用服务器集群 Session 管理有了系统认识。

三、思考

所有的技术选型是基于场景的,根据不通的场景去选择合适的实现方案,所以我们需要了解每种方案的原理和优缺点是否符合当前的业务场景

四、后续计划


系统学习一些分布式缓存(Memcached、Redis)、消息队列(RabbitMQ、ActiveMQ、RocketMQ、Kafka)、负载均衡(Ngnix、F5)等落地产品的架构、原理、实现方式以及编程接口


用户头像

钟杰

关注

还未添加个人签名 2019.02.12 加入

还未添加个人简介

评论

发布
暂无评论
第五周 技术选型(1)学习总结