写点什么

架构师训练营 第十一周 作业

用户头像
CR
关注
发布于: 2020 年 08 月 26 日

导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。

  • 硬件故障,如磁盘、内存、网卡、网线损坏等

  • 软件BUG

  • 应用或系统配置错误

  • 系统发布没有按正确步骤执行

  • 并发压力高导致系统不可用

  • 网络攻击

  • 外部灾害导致,如地震等自然灾害、火灾等等



保障系统稳定高可用的方案:

原则:保持简单、目标明确、考虑成本和收益

  • 解耦,组件设计遵循高内聚低耦合原则

  • 隔离:业务与子系统隔离、虚拟机与容器隔离、生产者与消费者隔离等

  • 异步编程:反应式编程、事件驱动

  • 备份:集群、数据复制

  • 失效转移

  • 幂等

  • 事务补偿

  • 重试

  • 熔断,某个服务出现故障时,通过断路器阻断对故障服务的调用

  • 限流:计数器算法、令牌桶算法、漏桶算法、自适应限流

  • 降级

  • 异地多活



  • 请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。

  • 

    用户头像

    CR

    关注

    还未添加个人签名 2018.09.23 加入

    还未添加个人简介

    评论 (1 条评论)

    发布
    用户头像
    请添加“极客大学架构师训练营”标签,便于分类
    2020 年 08 月 27 日 09:51
    回复
    没有更多了
    架构师训练营 第十一周 作业