架构学习-可用性,安全性,伸缩性(二)

165 阅读2分钟

可用性

image.png

本地高可用

  • 定位:"本地",针对生产中心的内部故障
  • 故障类型:服务器,硬盘,适配器卡,网络
  • 特点:快速的修复,自动接管,实施简单,RPO-0(数据无丢失)

业务逻辑保护

  • 定位:针对致命的软件错误或人工失误的保护
  • 故障类型:操作系统,数据库,应用,服务
  • 特点:数据保护为主,人工决策,人工干预,人工追数

容灾多活

  • 定位:"异地",针对生产中心的机房或大面积设备故障
  • 故障类型:HA方案失效,主站点(基础架构)失效,自然灾害
  • 特点:恢复时间较长,手动切换负载,涉及内外多个部门,容忍部分数据丢失,有必要制定灾难恢复计划

具体实施

image.png

安全性

安全基本原则(CIA)

  • 可用性
  • 完整性
  • 机密性

安全评估方法

  • 安全测试:SAST静态测试,IAST交互式测试,安全扫描
  • 威胁模型:攻击树分析,DREAD风险评估
  • 渗透测试:红蓝对抗,白帽黑帽

架构安全性

物理安全

数据安全

  • 访问权限:责任分层,最小特权
  • 数据加密:对称加密,非对称加密,数字签名
  • 数据保护:数据逻辑保护,数据高可用

通信安全

网络攻击

  • DDoS拒绝服务
  • DNS劫持
  • 重放攻击
  • ARP地址解析欺骗

网络防御

  • WAF应用防火墙
  • IDS/IPS入侵检测和防御
  • VPN/IPSEC安全通道加密
  • PGP邮件加密
  • TLS HTTPS隧道加密

身份安全

  • 认证
  • 授权
  • 审计

软件安全

  • 操作系统安全:病毒,蠕虫,木马,零日攻击,补丁
  • 数据库安全:防止SQL注入,防止推理攻击
  • web应用安全:防止XSS跨站点脚本攻击,防止重放攻击

伸缩性

伸缩性的主要场景

  • 热点业务:支付,下单,添加购物车,商品详情页,搜索
  • 热点数据:秒杀产品,动态数据,静态数据
  • 思路:时间与空间转化,系统伸缩性

无状态应用弹性伸缩

无服务器化Serverless

  • 应用无状态
  • 常见编程:函数式编程,响应式编程
  • 常见业务模式:事件驱动,流驱动
  • 从0资源->无限大