写点什么

架构师训练营第五周总结

用户头像
陈靓-哲露
关注
发布于: 2020 年 07 月 03 日

分布式缓存架构

缓存常用存储的数据结构是Hash表,查询时间复杂度是o(1)

具体key value 的值存在哪个集群服务器上,是利用hash表的方式,记录这个key 具体存在那个服务器上



一些缓存数据库的核心技术点主要是一致性hash算法



队列和异步架构

点对点模型

生产者 --> 队列 <-- 消费者

队列里的消息只会被处理一次

发布订阅模型

每个消费者管理自己独立的队列,以topic的方式来处理



好处

  • 异步处理,提升处理性能,主要可以提升写的性能

  • 伸缩性更好

  • 削峰填谷

  • 失败隔离,自我修复

  • 解耦

注意点

1.异步处理的时候,有可能消费者执行是不成功的

处理方式:一般同步不直接返回结果,等异步处理成功后,通知客户端。

可以长连接,或者轮询等



消息队列延伸的架构

  • 事件驱动架构EDA



负载均衡架构

负载均衡,核心:请求如何分发,路由如何选择



架构模式

1.Http重定向负载均衡

利用重定向响应,请求头修改为某个服务器地址

缺点:要进行两次http请求,耗流量,性能差,应用服务器必须要暴露在外网

2.DNS负载均衡

域名绑定多个ip地址,每次请求解析出一个ip地址,然后请求应用服务器

缺点:不符合高可用,有服务器宕机后,还是会不断访问这个服务器,域名解析的ip地址所在服务器,不会是应用服务器,还是负载均衡服务器,是二级负载均衡

3.反向代理负载均衡,七层负载均衡

利用负载均衡服务器,发起http请求,返回response,再返回给客户端

缺点:这种负载均衡服务器本质上也是个http web服务器,负载压力也是有瓶颈的,几台,可以使用



4.ip负载均衡,三层负载均衡

分发的包是tcp/ip的包,负载压力比较小

缺点:请求响应依然通过负载均衡服务器

5.数据链路负载均衡 二层负载均衡

请求数据包,不修改ip地址,修改mac地址



负载均衡算法

  • 轮询

  • 加权轮询

  • 随机

  • 最少连接

  • 源地址散列



分布式数据库

mysql 主从复制

主从复制架构,可以把一些比较复杂的报表单独让一台服务器处理

主主复制



用户头像

陈靓-哲露

关注

还未添加个人签名 2018.04.12 加入

还未添加个人简介

评论

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