阿里高可用架构设计与实践
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DNS域名解析负载均衡
在用户请求DNS服务器,获取域名对应的IP地址时, DNS服务器直接给出负载均衡后的服务器IP。 优点:交给DNS,不用我们去维护负载均衡服务器。 缺点:当一个应用服务器挂了,不能及时通知DNS, 而且DNS负载均衡的控制权在域名服务商那里,网 站无法做更多的改善和更强大的管理。
2.wrr 加权调度算法:我们给每个服务器设置权值weight,负载均衡调度器根据权值调度服务器,服务器被调用的次数跟权值成正比。
3.sh 原地址散列:提取用户IP,根据散列函数得出一个key,再根据静态映射表,查处对应的value,即目标服务器IP。过目标机器超负荷,
则返回空。
4.dh 目标地址散列:同上,N只g是i现nx在目提取前的支是目持标的地负址的载IP均来做衡哈算希。法有wrr、sh(支持一致性哈希)、
系统保护
容量规划
系统保护
线上压测获取单机能力
系统保护
全链路压测
04大数据架构方案 阿里云平台大数据架构方案 ,大数据业务需求场景——运营从粗放à精 细化,高效、合理的数据架构是关键
大数据业务需求场景
运营从粗放—>精细化,高效、合理的数据架构是关键
业务功能分层架构
阿里云平台
数据运营平台基础数据框架【实时、离线】
反向代理服务器
在用户的请求到达反向代理服务器时(已经到达网 站机房),由反向代理服务器根据算法转发到具体 的服务器。常用的apache,nginx都可以充当反向 代理服务器。 优点:部署简单 缺点:代理服务器可能成为性能的 瓶颈,特别是一次上传大文件。
WEB架构演进
负载均衡调度算法
1.rr 轮询调度算法:顾名思义,轮询分发请求。
系统保护
负载保护
系统保护
流量调度
系统保护
热点保护
大促难题,业务热点问题 客观存在 :华为、小米、iphone、微博 黑马热点不可预计 从系统稳定性出发,保护 下游资源,不被热点击垮 :Tair(缓存)击穿 DB连接数过大 黑马热点不可预计 从业务链路出发,实现 热点数据共享 :手工配置 各个业务热点隔离, 数据不能自动共享
高可用体系
4
大数据架构方案
目 录
01架构简图 阿里电商平台架构简图
架构简图
阿里电商平台
02浅谈WEB架构演进 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理
WEB架构演进过程
电商平台
单机构建网站
应用服务器与数据库分离
应用服务器集群
系统演变到这里,将会出现下面四个问题:
WEB架构演进过程
电商平台
负载均衡
数据库读写分离
Baidu Nhomakorabea用缓存缓解读库的压力
WEB架构演进过程
电商平台
拆分应用,SOA模式
引入消息中间件
随着业务的发展,业务越来越多,应用越来越大。我们需要考虑如何避免让应 用越来越臃肿。这就需要把应用拆开,从一个应用变为俩个甚至更多。可以把 用户、商品、交易拆分开。变成“用户、商品”和“用户,交易”两个子系统。
阿里高可用架构设计与实践
By 游骥 阿里巴巴高级技术专家 中间件&高可用架构团队技术 leader 阿里巴巴高可用体系核心缔造者 6年双11高可用保障老兵 邮箱:youji.zj@taobao.com 微信:lanxielian
汇报人:汤亚男 时间:2017年11月
1
架构简图
2
浅谈WEB架构演进
3
随着网站的继续发展,系统中可能出现不同语言开发的子模块和部署在不同平 台的子系统。此时需要一个平台来传递可靠的,与平台和语言无关的数据,并 且能够把负载均衡透明化,能在调用过程中收集调用数据并分析之,推测出网 站的访问增长率等等一系列需求,对于网站应该如何成长做出预测。开源消息 中间件有阿里的dubbo,可以搭配Google开源的分布式程序协调服务 zookeeper实现服务器的注册与发现。
阿里云平台
THANK YOU
优点:简单 缺点:性能较差
IP层负载均衡
在请求到达负载均衡器后,负载均衡器通过修改请 求的目的IP地址,从而实现请求的转发,做到负载 均衡。 优点:性能更好 缺点:负载均衡器的宽带成为瓶颈。
数据链路层负载均衡
在请求到达负载均衡器后,负载均衡器通过修改请求mac 地址,从而做到负载均衡,与IP负载均衡不一样的是,当 请求访问完服务器之后,直接返回客户。而无需再经过负 载均衡器。
1.用户的请求由谁来转发到到具体的应用服务器 2.有什么转发的算法 3.应用服务器如何返回用户的请求 4.用户如果每次访问到的服务器不一样,那么如何维护session的一致性
WEB架构演进
负载均衡解决方案
HTTP重定向
用户的请求其实已经到了HTTP重定向负载均衡服务 器,服务器根据算法要求用户重定向,用户收到重 定向请求后,再次请求真正的集群。
03高可用体系 监控报警 ,依赖治理 ,系统保护 ,容量规划, 线上演练
高可用体系
阿里电商平台
监控报警和依赖 治理是高可用体
系的眼睛
依赖治理
阿里电商平台
对调用打点,对海量调用链进行统计,得到链路各个依赖的稳定性指标
系统保护
限流 降级 流量调度 热点防护
系统保护
限流
系统保护
降级
固定时间间隔进行探测
用最少连接数算法。
10.LBLCR 带复制的基于局部性的最少连接:均衡器根据请求的目的IP地址,找出该IP地址最近使用的“服务器组”,注意,并不是具体某
个服务器,然后采用最少连接数从该组中挑出具体的某台服务器出来,把请求转发之。若该服务器超载,那么根据最少连接数算法,在集群
的非本服务器组的服务器中,找出一台服务器出来,加入本服务器组,然后把请求转发之。
务器优先被选择。
8.nq 永不排队:改进的sed供算法了。s我e们ss想io一n下共什么享情的况下支才持能“,永也不可排队以”通,那过就R是e服d务is器方的式连接存数储为0共的时享候数,那据么。假如有服务器连接数
为0,均衡器直接把请求转发给它,无需经过sed的计算。
9.LBLC 基于局部性的最少连接:均衡器根据请求的目的IP地址,找出该IP地址最近被使用的服务器,把请求转发之,若该服务器超载,最采
5.lc 最少连接:优先把请求转fa发ir给(连可接数以少归的服结务为器l。c)。
6.wlc 加权最少连接:在lc的基础上,为每台服务器加上权值。算法为:(活动连接数*256+非活动连接数)÷权重 ,计算出来的值小的服
务器优先被选择。
Nginx作为均衡器的话,还可以一同作为静态资源服务器。
7.sed 最短期望延迟:其实sNedg跟inwlxc类本似身,并区别没是有不考提虑供非活se动s连s接io数n。同算步法为的:解(活决动方连案接数,+1而)*2a5p6÷a权ch重e,则同样提计算出来的值小的服