1、弹性架构
物理设备缺乏灵活性、成本节约、按需使用
业务对IT资源的需求有波浪性
1.1 虚拟化
宿主型架构:依托于物理资源->操作系统之上的虚拟化软件(IDC机房)
裸金属架构:直接在物理资源 之上的虚拟化软件(IDC机房)
人工调度,规模受限
云计算平台:完全托管
1.2、弹性架构

1、用户通过SLB(Server Load Balancer)负载均衡(可集群部署)
2、ECS应用集群(AS弹性伸缩)
3、RDS数据库集群
4、OSS对象存储
5、静态资源同步到CDN
| 类型 | 全称 | 中文含义 | 特点 |
|---|---|---|---|
| Classic Network | 经典网络 | 阿里云早期默认网络类型 | 所有用户实例在同一平面大网中,靠系统分配隔离 |
| VPC | Virtual Private Cloud | 虚拟私有云 | 用户自定义私有网络,逻辑隔离,类似自建数据中心 |
弹性三要素:
计算的弹性:纵向(增加单一硬件资源)、横向(增加ECS数量)
存储的弹性:结构化、非结构化
网络的弹性:
专有网络VPC、SLB负载均衡、NAT网关、智能接入网关、云企业网、高速通道
1.3、游戏架构


1.4、混合云架构

医院自建机房服务 通过VPN隧道 与 云上服务通信
VPN隧道:
将原始数据包(如 IP 包)嵌套在一个新的外层 IP 包中(加密),通过公网传输。
1.5、应用层弹性架构
应用程序要求无状态
负载均衡方式:
1、DNS:通过客户端IP位置,就近集群
2、硬负载:F5设备
3、软负载:Nginx、LVS(VIP虚拟IP)

传统型的 VIP+负载均衡主备策略部署
1)传统的CLB(SLB):
主要支持4层,直接部分7层,通过域名、URL转发,面向网络
支持协议UDP、TCP、HTTP、HTTPS、
2)应用型负载均衡ALB:
仅7层协议,支持内容的路由,基于HTTP的报头改写、重定向、重写,面向应用
支持协议HTTP、HTTPS、QUIC
CNAME解析:使用DNS 将一个域名A 解析成另一个域名B
流程:
用户 -> www.xx (域名A)-> ALB(域名B) -> EIP(弹性公网 IP 地址) -> VIP -> ECS
ALB提供域名与VIP,域名与VIP可以部署在多个可用区域,形成多级分发
一个公网ALB应该至少包含两个分布在不同 可用区域EIP
EIP 是"面向公网的弹性门牌号"。解决 "从外到内怎么访问",VIP 是"面向内网的高可用虚拟地址"。解决 "内部服务如何不间断"(SLB)

标准 ALB 拓扑结构

公私网ALB区别

1.5.1、应用层水平扩展
采用多级负载均衡策略,针对某一业务集群,可用做到水平弹性扩展。
轮询、加权、最少连接

两级负载均衡拓扑
1、带宽占用问题:
核心应用独占固定峰值带宽,其他应用共享剩余带宽峰值
超过峰值会丢包
2、会话保持问题:
- SLB 开启会话保持功能。客户IP映射ECS固定,默认1000秒(每次请求刷新)
- 采用集中式session管理
3、多域名/URL转发问题:
创建 虚拟服务器组(VServer group)是一组 ECS 实例。将虚拟服务器组和一个监听关联后,监听只会将流量转发给关联的虚拟服务器组的后端服务器,不会再将流量转发给其他后端服务器。
1.5.2、弹性伸缩原理
AS(auto scaling)
云监控
弹性类型:
1、定时:每晚8点到12点,增加两台
2、报警:CPU > 80% , 增加两台, < 30% 减少两台
自定义镜像ECS、添加或移除到SLB白名单

1.6、结构化数据的弹性架构
1.6.1、垂直扩展
拆分不同业务,表的垂直拆分、将表级转成库级

1.6.2、水平扩展
以数据为主,主从读写分离、数据分库分表(大量写)

分库 :为解决单一数据库连接资源不足、磁盘IO读写瓶颈问题
分表 :为解决单一表数据量大,sql性能差问题
存储的数据存在关联,分库后无法进行join查询,只能通过业务接口
DRDS:分布式数据库中间件,用于处理分库分表后SQL复杂性
1、客户端SQL解析
2、路由分发
3、组装不同RDS的查询结果


1.7、非结构化数据的弹性架构
采用OSS对象存储、云盘


整体架构说明:
1、SLB负载均衡集群
2、ECS应用集群 + AS 弹性伸缩
3、OSS对象存储
4、DRDS + MySQL读写集群
配置说明:
1、RDS默认8个库;
2、单表500W限制;
3、DRDS读写分离,需要手动设置只读实例分配的读比例,++事务中的读走主库++