电商 高可 用架构解决 方案实践 随着众多企业客户对于业务延续性需求的增加, 传统业务中的停机维护窗 口越来越 小, 甚 至在很多互联 网类型的应 用中要求 7 24 小时不间断服务, 导致系统对业务 IT 的运维能 力力 持续服务能 力力 高可 用能 力力以及灾难恢复能 力力都有着新的需求 如何通过技术实现更更好的业务可靠性保障? 在特殊情况下如何实现业务 数据的恢复 容灾和多活? 如何在实现多活业务架构中降低系统架构的复杂性及 IT 成本 本次, 青 小云从技术 角度出发, 推出 一系列列专题 文章, 为 大家解密 高可 用的企业 IT 架构背后 的技术实现, 同时也会从 一些具体的电商 金金融客户案例例中, 给 大家带来 一些经验分享, 帮助 从业者快速掌握 自 身业务 高可 用和多地访问 容灾备份等业务场景的具体应对之策 今天的内容主要集中在如何保证业务爆发式增 长背后的电商 IT 系统 高可 用 什什么是电商平台的 高可 用 1 核 心业务的 永动机 由于电商业务系统承载着商品展 示 线上 支付 物流跟踪 抢购秒杀等活动, 随着互联 网技术 的普及和深 入,LBS 应 用 直播业务也相继出现在传统电商领域, 这些系统并非单 一孤立, 电 商 IT 系统必须保证 7 24 小时持续稳定运 行行 因此, 电商平台必须具备 高度的可 用性, 确保在单点 单机故障 自然灾害等意外事故发 生 时, 能够尽快恢复应 用的正常运 行行, 只有这样才能满 足 广 大群众 买买买 的激动 心情 2 让关键数据存放更更放 心 电商业务往往伴随 大量量的 支付数据产 生, 用户信息安全显得格外关键 一个 高可 用的电商平台 既要保障 自 身业务数据完整精确, 更更要严格保证 用户数据安全 在数据 高可 用性上, 电商 IT 系统承担着双重压 力力 3 全 面监控, 尽收眼底 电商业务往往是 一个 7 24x365 的 永动系统, 只有每 一个监控指标都正常, 才保证系统的健 康运 行行, 所以 自动化监控尤为关键, 通过系统监控 手段及时发现问题, 甚 至在问题出现之前就 能预测出来, 从 而尽早介 入处理理, 可以避免或减少对业务的影响 应对策略略
1 业务 HA 部署, 主备 角 色明确 HA(High Available) 高可 用性集群, 是保证业务连续性的有效解决 方案, 一般有两个或两个以 上的节点, 且分为活动节点及备 用节点 通常把正在执 行行业务的称为活动节点, 而作为活动节 点的 一个备份的则称为备 用节点 当活动节点出现问题, 导致正在运 行行的业务 ( 任务 ) 不能正常运 行行时, 备 用节点此时就会侦测 到, 并立即接续活动节点来执 行行业务 从 而实现业务的不中断或短暂中断 2 保证业务多地多点部署 我们常说 不要把所有的鸡蛋放进 一个篮 子, 这句句话对于电商 IT 建设同样适 用 在做电商系统业务架构的时候, 我们建议 用户采 用 异地多活 部署 方案 但异地多活系统受到 网络延迟 运维成本 部署规模等因素限制, 而 青云 QingCloud 公有云在国内有多个区域机 房, 让 用户在选择 第 二机房 问题上能更更从容部署 多点异地 方案 3 保证确保数据 一致性 数据 一致性问题, 这是比较 大的挑战, 多中 心电商 方案从本质上是 一个分布式系统, 天然地存 在数据分区, 也就有数据分区问题, 在解决个问题时, 采 用了了场景化数据分类处理理的策略略 在正常场景下, 交易易数据只能从分中 心产 生, 同步到主中 心 ; 而交易易所需要的主数据则从主中 心同步到分中 心, 在分中 心故障场景下交易易数据才可以在主中 心产 生 一个良好的数据库 方 案, 是数据 一致性的重要保障 青云上的 高可 用架构 1 电商业务 高可 用性架构
2 青云 QingCloud 关键实现技术 VPC 隔离和隧道技术 用户可以在 QingCloud 环境内预配置出 一个专属的 大型 VPC 网络 在 VPC 网络内, 可以 自定义 IP 地址范围 创建 子 网, 并在 子 网内创建主机数据库 大数据等各种云资源 一个 VPC 网络可以连接 254 个 子 网 (Vxnet), 且最多可以容纳 60,000 台虚拟主机 在 VPC 里里, 每个 用户的资源都是隔离和独立的 通过隧道技术, 可以把 用户部署在青云上的不同 VPC 联通起来, 不论是通过 GRE 还是 IPsec 的隧道封装, 用户可跨 VPC 的资源访问, 让 用户轻松实现了了多点部署需求, 安全, 便便捷 Region 服务 为帮助 用户便便捷地构建 高可 用的业务架构, 青云 QingCloud 推出 Region 级别服务, 通过对基础 网络架构进 行行升级, 实现区域 ( Region ) 内的可 用区 ( Availability Zone ) 之间 高速互联, 全 面提升整体服务能 力力 用户可通过 支持多可 用区部署 ( Multi-AZ deployment, 简称 MZ ) 的 网络与应 用服务, 快速实现系统架构的多可 用区部署, 轻松构建多活及灾备业务架构 负载均衡均衡和反向代理理 传统的负载均衡 一般基于商 用的硬件 F5 NetScaler 在 4 层做分发, 或者通过 NginxHAProxy 在 7 层做负载均衡或者反向代理理分发到集群中的应 用节点 QingCloud 同 时提供基于 4 层到 7 层的负载均衡服务, 分别是负载均衡器和负载均衡器集群
负载均衡器 (Load Balancer) 负载均衡器器 支持灵活配置多种转发策略略, 实现 高级的 自定 义转发控制功能 ; 支持 HTTPHTTPSTCP 三种监听模式, 并 支持透明代理理, 可以让后端主 机不做任何更更改, 直接获取客户端真实 IP 负载均衡器集群 (Load Balancer Cluster) 可以将 一个公 网 IP 的流量量, 分散到多个负载均衡器节点做并发处理理, 突破单负载均衡器节点的能 力力瓶颈, 提供可扩展的转发带宽和 HTTPS 卸载能 力力 4 层分发到业务集群上后, 会经过 WEB 服务器如 Nginx 或者 HAProxy 在 7 层做负载均衡或者反向代理理分发到集群中的应 用节点 选择哪种负载, 需要综合考虑各种因素如是否满 足 高并发 高性能, 如 Session 保持如何解 决, 负载均衡的算法如何, 支持压缩, 缓存的内存消耗等众多因素, 如何选择, 得视具体 业务 而定 RDS 数据库服务 MySQL 存储引擎 : 基于性能和数据安全的考量量, 青云专 门针对 InnoDB 存储引擎做了了配 置优化和调整, 建议始使 用 InnoDB 存储引擎 主从架构 : 青云 RDS 服务采 用了了主从架构, 主从节点部署在不同的服务器上, 数据 自动 实现同步 高可 用 : 青云 RDS 服务的 MySQL 5.6 版本默认开启了了读写的 高可 用功能 新增了了两个 高可 用的读写 IP, 分别对应于数据的读和写 读 IP 可将请求在多个从节点之间进 行行负载分担, 提 高读取性能, 消除单点故障 写 IP 可以在主库发 生故障时 自动切换到新的备选主库上, 减少故障时间 在故障切换时, 主从节点的 IP 地址会变化, 高可 用的读写 IP 地址不会变化 监控告警服务 监控告警功能是基于资源层 面的监控数据, 设置告警条件和通知列列表, 有助于及时了了解资源使 用情况和处理理突发事件 目前 支持主机 公 网 IP 路路由器 负载均衡器 关系型数据库及 大数据产品的监控告警服务 用户可以轻松创建告警策略略, 运维 人员通过 手机客户端 ( 支持 ios Android), 可以随时监控平台运维数据, 接收预制告警 总结 认识 高可 用架构, 部署实现实现 高可 用架构, 每 一家互联 网企业可能摸索出数千种探索道路路并 给出数万种答案, 但符合 自 身企业技术环境发展的答案可能有且只有 一种, 帮助 用户 用最快速
度安全便便捷 方式实电商 高可 用系统, 是青云 QingCloud 一直在努 力力实现的 目标