Skip to content

Latest commit

 

History

History
40 lines (38 loc) · 929 Bytes

高可用性服务设计.md

File metadata and controls

40 lines (38 loc) · 929 Bytes

面向错误的设计

  • 隔离错误 - 设计
    • micro kernel
  • 隔离错误 - 部署
    • micro service
  • 重用 vs 隔离
    • 逻辑结构的重用 vs 部署结构的隔离
  • 冗余
  • 单点失效
    • 某个节点失效导致所有节点都失效
    • 限流 token bucket
  • 慢响应
    • 连接池被用完
    • 不要无休止的等待
  • 错误传递
    • 断路器
    • 服务降级

面向恢复的设计

  • 预知所有类型的错误是不可能的
  • 健康检查
    • 注意僵尸进程
      • 池化资源耗尽
      • 死锁
    • 检查时触发关键路径
  • let it crash
  • 构建可恢复的系统
    • 拒绝单体系统
    • 面向错误和恢复的设计
      • 在依赖服务不可用时,可以继续存活
      • 快速启动
      • 无状态
  • 与客户端协商

混沌工程 chaos engineering

  • if something hurts, do it more often!
  • chaos under control
    • terminate host
    • inject latency
    • inject failure