三、构建腾讯云上高可用架构(15%)#
1.云上高可用概述#
1.1 构建腾讯云上高可用架构相关概念#
可用性的含义,可用性的计算方法 ☆☆
同城灾备、异地灾备,消息队列:MQ、Kafka ☆☆
1.2 面临的挑战#
高可用面临的挑战 ☆
- 高可用面临的挑战
- 高可用的目标
99.99%系统可用性年不可用时间-0.876小时
基本可用: 99%
较高可用性: 99.9%
高可用性: 99.99%
极高可用性: 99.999% - 事故及问题归类
- 内部
代码问题
配置问题
性能问题 - 供应商
通道/专线抖动
运营商故障
机房整体故障 - 外部威胁
攻击
劫持
- 内部
- 高可用的目标
1.3 构建高可用的架构目的#
为什么需要高可用架构? ☆☆
- 高可用的整体规划
- 成本曲线 反比 业务中断影响(损失)
- 不同阶段客户推荐容灾方案
- 初创期
- 数据容灾
- 环境容灾
- 安全保障
- 成长期
- 数据/环境容灾
- 安全保障
- 同机房多集群
- 同区域多机房
- 稳定器
- 数据/环境容灾
- 安全保障
- 同机房多集群
- 同区域多机房
- 跨区域多机房
- 总体规划
- 分层设计思路
接入和服务分层解耦
服务和数据分层解耦
分层高内聚 低耦合
分层支持灵活扩展
分层支持冗余容灾部署
分层支持set化部署
- 分层设计思路
- 分层解析

- 初创期
2.构建外层高可用架构#
2.1 外层高可用架构的设计原则#
外层网络面临的问题 ☆
外层高可用的设计思路:DNS的解析过程、出现解析问题如何解决?为什么会出现访问慢的问题?应该如何解决? ☆
外层网络面临的问题
- 外层网络
从用户发起请求到服务接入之间的网络 - 用户外层访问, 面临的问题
- 域名解析异常

- 访问速度慢

- 域名解析异常
- 外层网络
外层高可用的设计思路
- 域名解析问题的解决方法

- 针对访问速度慢的问题

- 域名解析问题的解决方法
2.2 设计外层的高可用架构#
外层设计相关产品 ☆☆
云解析、HttpDNS和CDN架构 ☆☆☆
3. 构建接入层高可用架构#
3.1 接入层高可用架构的设计原则#
接入层面临的问题、接入层高可用设计思路 ☆☆
接入层面临的问题
- 接入层
指的是提供服务的负载均衡层 - 接入层要考虑的问题
负载均衡冗余
负载均衡的安全问题
- 接入层
接入层高可用设计思路
- 2个解决方案

- 2个解决方案
3.2 设计接入层的高可用架构#
接入层设计相关产品 ☆☆
云解析与CLB构建接入层高可用架构 ☆☆☆
CLB与Anycast IP构建接入层高可用架构 ☆☆
使用Anycast IP解决CLB冗余、接入层安全架构和BGP高防架构 ☆☆
- 基于腾讯云产品的接入层设计
- 接入层产品清单
CLB, Anycast CLB, 云解析, BGP高防 - 云解析
云解析提高CLB的冗余[pic] - Anycast
使用Anycast IP提高用户接入可用性[pic]
使用Anycast IP解决CLB冗余[pic] - BGP高防
- BGP高防使用建议
- 平滑切换线上业务到BGP高防IP
技术维度
业务维度 - 源站IP暴露的解决方法
防止出现攻击绕过高防直接攻击源站IP的情况,强烈建议参考以下方法 - BGP高防IP+源站[pic]
- 业务系统压力测试
- 平滑切换线上业务到BGP高防IP
- BGP高防使用建议
- 接入层产品清单
4. 构建应用层高可用架构#
4.1 应用层高可用架构的设计原则#
应用层设计面临的问题 ☆
应用层高可用设计思路 ☆☆☆
应用层设计面临的问题
- 软件架构如何选择
- 应用部署容量如何规划
- 应用部署落地平台如何选择
- 如何考虑应用层的容灾
- 应用层的安全如何保障
应用层高可用设计思路
- 软件架构选择
传统应用和云原生应用 - 应用扩展和容量规划
传统应用: 云主机+负载均衡+弹性伸缩, 配置伸缩策略实现资源池容量的弹性
云原生应用可考虑微服务+容器化部署 - 应用的容灾问题
多可用区 多地域容灾部署
应用set化部署 - 安全设计
结合应用层安全防护产品, 加固应用层防护
- 软件架构选择
4.2 设计应用层高可用架构#
应用层设计相关产品 ☆☆
传统应用高可用 ☆☆
云原生应用部署、应用的容灾设计 ☆☆
应用层设计相关产品
传统应用高可用
- CLB+CVM+AS
- 架构图 [pic]
- 应用实践
- CLB+CVM+AS
云原生应用部署
- 涉及的产品
- 微服务平台 TSF
- API网关
- TKE容器服务
- 云原生应用部署方案[pic]
- 涉及的产品
应用的容灾设计[pic 要重新看]
- 单区域容灾
- 跨地域容灾
- 跨地域多活
业务拆分, 单元化部署 - 混合云部署
云上和IDC各部署一套完整的业务系统 - 异地多活set化部署
Unit由多个set组成
建议单写多读的架构
set不一定限制在一个机房,可跨机房、跨地域部署
应用安全设计
- web应用防火墙
- 漏洞扫描
saas服务 - 移动应用安全
- 应用级智能网关
5.构建中间件层的高可用架构#
5.1 中间件层高可用架构的设计原则#
中间件层面临的问题 ☆
中间件层高可用设计思路 ☆☆☆
5.2 设计中间件层高可用架构#
中间层设计相关产品 ☆☆
CMQ实现中间层高可用架构、Ckafka实现中间层高可用架构 ☆☆
6.构建数据层高可用架构#
6.1 数据层高可用架构的设计原则#
数据层高可用面临的问题 ☆☆
数据高可用的设计思路 ☆☆☆
6.2 设计数据层高可用架构#
数据层设计相关产品 ☆☆
CBS实现数据层高可用架构、CFS实现数据层高可用架构、 COS实现数据层高可用架构、CDB实现数据库层高可用架构 ☆☆☆