架构动静分离和分布式阶段——阿里云 MVP乔锐杰

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
对象存储 OSS,20GB 3个月
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 乔锐杰,上海驻云运维总监,江湖人称“乔帮主”。本文是乔帮主在阿里云的直播中分享《阿里云千万级架构的构建——架构的成长演变之路》的第三部分。

乔帮主的直播内容经精炼整理、分以下5篇:
一、分享介绍&架构三原则
二、云架构、架构的原始阶段和基础阶段
三、架构动静分离和分布式阶段
四、架构数据缓存阶段和两个维度拓展阶段
五、架构微服务阶段

架构动静分离阶段:静态缓存 + 对象存储阶段

image.png

当访问压力达到100万PV到300万PV的时候,我们看到前端web服务出现性能瓶颈。大量的web请求被堵塞,同时服务器的CPU、磁盘IO、带宽都有压力,尤其是带宽压力。这时候我们一方面将网站图片、js、css、html及应用服务相关的文件存储在oss中进行静态资源集中管理,另外一方面通过CDN将静态资源分布式缓存在各个节点实现“就近访问”。通过将动态请求、静态请求的访问分离(也就是“动静分离”),有效解决了服务器在磁盘IO、带宽方面的访问压力。那这阶段采用的云产品,相比上阶段,主要增加了CDN和OSS。 

值得注意的是,CDN可以直接进行动静请求分离,但在此阶段用户量规模的架构中,可能很多人觉得甚至没必要用OSS。但我还是建议将静态资源采用独立的二级域名集中部署在OSS中,方便后续架构扩展,也是方便CDN回源请求加速。当然如若业务方面没有未来扩展的考虑等,直接采用CDN是最高效省事的做法。

架构动静分离阶段有两个技术特点:
第一点,动静分离其实是静态请求和动态请求的解耦。

第二点,CDN被誉为互联网高速公路的最后一公里。特别在电商等Web领域应用广泛,我们知道,电商业务中有大量的商品图片的静态资源,所以在电商类应用中几乎都会必选CDN,都说没有CDN的电商不是好电商。
接着进入架构分布式阶段:负载均衡。

架构分布式阶段:负载均衡

image.png

当访问压力达到300万PV到500万PV的时候,虽然“动静分离”有效分离了静态请求的压力,但是动态请求的压力已经让服务器”吃不消”。最直观的现象是,前端访问堵塞、延迟、服务器进程增多、CPU100%,并且出现常见的502/503/504的错误码。显然单台 Web服务器已经满足不了需求,这里需要通过负载均衡技术增加多台 Web服务器,进一步保障业务的性能和高可用。负载均衡的加入,从而告别了单机的时代,转变分布式架构的阶段。

那在这个架构阶段采用的云产品,如左边架构图所示,相比上阶段,主要增加了SLB。此阶段的架构中,值得注意的是,采用七层SLB虽然可以满足绝大数Web应用场景。但在高并发场景下,我们优先考虑使用四层的SLB提高性能。虽然四层SLB在稳定性和性能会比七层要好,但是会带来运维配置管理工作量。

此阶段的技术特点主要有两点:
第一点,负载均衡是分布式架构的起点。云计算的普及,其实也是分布式架构的普及。值得注意的是,分布式架构是集群架构的演变,有很多人把传统的集群架构和分布式架构混为一谈,这是很大的误区。集群的虚拟VIP技术只能让一台服务器平时作为Backup热备,只有在故障的时候,才会切换到Backup上让其顶上,平时都是空闲状态。而分布式架构的技术特点,就是负载均衡的引入,让不同服务器来同时处理业务压力。
第二点,分布式架构是云计算体系阶段的标配。为什么是标配呢?接下来我们聊聊分布式架构的核心优势对比。
image.png

分布式经典架构1+1>2,我在分享中经常比较喜欢说这个案例,真的是百说不厌。一台4核8G配置的主机,部署着一个分布式业务,如传统电商系统。我们用单台部署,以及如若我们拆分成两台2核4G配置的主机,用分布式架构思路部署,会有什么不一样?我们详细来看看对比的区别。
1、在成本方面,单机要402,两台也差不多四百多,基本一样。

2、在性能方面,差距就开始出来了。带宽方面,云主机仅有200Mbps,而两台部署,通过SLB对外访问,带宽有1Gbps。

3、磁盘方面,一台默认40G云盘,而两台就是两块默认40G系统盘,就是2倍的IO性能。所以在早起还未推出SSD云盘,那时候IO很低,为了满足业务对IO的需求,相比单机高配部署,通过分布式架构拆分成多台低配机器部署,就能获取成倍的IO性能,这招对提升IO性能非常管用。

4、安全性方面,单机直接暴露源IP,被黑客直接攻击源站。而两台分布式部署,隐藏后端IP避免被扫描、被直接打。甚至SLB是基于LVS,由于直接改了LVS的源码,具有一定的抗攻击功能。

5、扩展性方面,单机只能升级服务器配置来垂直扩展,而两台分布式部署,不仅能垂直快照,而且只需要往SLB后面增加更多ECS来进行水平扩展。

6、稳定性方面,单机肯定存在单点故障,而两台分布式部署的,没有单点问题。

通过分布式部署唯一的缺点,是在管理维护上会变复杂。不过通过ansible等自动化运维工具,这个对运维来说也没多大问题。所以:拥抱云计算,其实也是拥抱分布式如若业务不适合用分布式架构,其实发挥不了云计算的核心优势。

接着进入架构数据缓存阶段:数据库缓存。
下一篇:架构数据缓存阶段和两个维度拓展阶段

相关文章
|
7天前
|
消息中间件 传感器 Cloud Native
事件驱动作为分布式异步服务架构
【6月更文挑战第25天】本文介绍事件驱动架构(EDA)是异步分布式设计的关键模式,适用于高扩展性需求。EDA提升服务韧性,支持CQRS、数据通知、开放式接口和事件流处理。然而,其脆弱性包括组件控制、数据交换、逻辑关系复杂性、潜在死循环和高并发挑战。EDA在云原生环境,如Serverless,中尤其适用。
31 2
事件驱动作为分布式异步服务架构
|
3天前
|
缓存 运维 负载均衡
分布式系统架构设计与挑战
【6月更文挑战第29天】分布式系统架构设计涉及组件化、通信、数据一致性、负载均衡和容错处理,旨在实现高可用性和可扩展性。然而,数据一致性、性能、可伸缩性和容错是主要挑战。解决方案包括使用一致性算法、性能优化、设计可伸缩架构和实施容错机制。随着技术进步,这类系统将继续在云、大数据和物联网中扮演关键角色。
|
4天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
10天前
|
传感器 边缘计算 监控
边缘云作为一种分布式云计算架构,正在为多个行业和应用场景带来革命性的变化
边缘云应用于智能城市、工业物联网、零售、农业、AI、5G优化、制造、物流、医疗、交通和家居等领域,实现低延迟的数据处理、实时分析与优化。例如,智能交通利用边缘计算优化信号灯,减少拥堵;工业场景中,设备监控与预测性维护提升效率;在医疗中,实时监测患者数据支持远程诊断。此外,边缘云还助力零售业的个性化推荐、农业的精准作业和云游戏的高性能体验。
|
8天前
|
SQL 关系型数据库 MySQL
MySQL高可用架构设计:从主从复制到分布式集群
MySQL高可用性涉及主从复制、半同步复制和Group/InnoDB Cluster。主从复制通过二进制日志同步数据,保证故障时可切换。半同步复制确保事务在至少一个从服务器确认后才提交。Group Replication是多主复制,支持自动故障切换。InnoDB Cluster是8.0的集成解决方案,简化集群管理。使用这些技术能提升数据库的稳定性和可靠性。
100 2
|
11天前
|
分布式计算 资源调度 Hadoop
分布式系统详解--架构(Hadoop-克隆服务器)
分布式系统详解--架构(Hadoop-克隆服务器)
19 1
|
11天前
|
存储 弹性计算 安全
构建高效企业应用架构:阿里云产品组合实践深度解析
该方案展现了阿里云产品组合的强大能力和灵活性,不仅满足了当前业务需求,也为未来的扩展打下了坚实的基础。希望本文的分享能为读者在设计自己的IT解决方案时提供一定的参考和启发。
110 1
|
4天前
|
网络协议 安全 分布式数据库
技术分享:分布式数据库DNS服务器的架构思路
技术分享:分布式数据库DNS服务器的架构思路
10 0
|
4天前
|
Kubernetes 安全 网络协议
操作系统的未来之路:探索微内核架构与分布式系统
随着计算需求的不断演变和技术的快速进步,传统的宏内核操作系统正面临性能和安全性的挑战。本文旨在探讨操作系统的未来发展道路,特别是微内核架构和分布式系统在提升性能和安全性方面的潜力。通过分析微内核设计的优势、分布式系统的特性以及两者结合的可能性,文章旨在为读者提供对操作系统未来发展趋势的深入理解。
10 0
|
5天前
|
弹性计算 Oracle 关系型数据库
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!

热门文章

最新文章