可用性
本地高可用
- 定位:"本地",针对生产中心的内部故障
- 故障类型:服务器,硬盘,适配器卡,网络
- 特点:快速的修复,自动接管,实施简单,RPO-0(数据无丢失)
业务逻辑保护
- 定位:针对致命的软件错误或人工失误的保护
- 故障类型:操作系统,数据库,应用,服务
- 特点:数据保护为主,人工决策,人工干预,人工追数
容灾多活
- 定位:"异地",针对生产中心的机房或大面积设备故障
- 故障类型:HA方案失效,主站点(基础架构)失效,自然灾害
- 特点:恢复时间较长,手动切换负载,涉及内外多个部门,容忍部分数据丢失,有必要制定灾难恢复计划
具体实施
安全性
安全基本原则(CIA)
- 可用性
- 完整性
- 机密性
安全评估方法
- 安全测试:SAST静态测试,IAST交互式测试,安全扫描
- 威胁模型:攻击树分析,DREAD风险评估
- 渗透测试:红蓝对抗,白帽黑帽
架构安全性
物理安全
数据安全
- 访问权限:责任分层,最小特权
- 数据加密:对称加密,非对称加密,数字签名
- 数据保护:数据逻辑保护,数据高可用
通信安全
网络攻击
- DDoS拒绝服务
- DNS劫持
- 重放攻击
- ARP地址解析欺骗
网络防御
- WAF应用防火墙
- IDS/IPS入侵检测和防御
- VPN/IPSEC安全通道加密
- PGP邮件加密
- TLS HTTPS隧道加密
身份安全
- 认证
- 授权
- 审计
软件安全
- 操作系统安全:病毒,蠕虫,木马,零日攻击,补丁
- 数据库安全:防止SQL注入,防止推理攻击
- web应用安全:防止XSS跨站点脚本攻击,防止重放攻击
伸缩性
伸缩性的主要场景
- 热点业务:支付,下单,添加购物车,商品详情页,搜索
- 热点数据:秒杀产品,动态数据,静态数据
- 思路:时间与空间转化,系统伸缩性
无状态应用弹性伸缩
无服务器化Serverless
- 应用无状态
- 常见编程:函数式编程,响应式编程
- 常见业务模式:事件驱动,流驱动
- 从0资源->无限大