架构一期第十一周作业
作业一:
(至少完成一个)
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
引起故障的原因:
硬件故障:承载应用的服务器 cpu,内存,硬盘,网络设备,等出现硬件物理问题
软件 bug:代码的 bug 引发的问题
系统发布:新代码上线过程中,或者上线后测试,或者上线后生产运行时出现的问题
并发压力:用户、请求数量超出服务承载能力上线
网络攻击:黑客恶意攻击引发的问题
外部灾害:天灾,人祸
保障系统稳定高可用的方案:
解耦:可以解决或者减少软件 bug,或者软件发布带来的故障影响
隔离:可以解决软件 bug 带来的级联影响
异步:提高系统承载能力,减少并发压力
备份:保证数据不丢失
数据幂等:保证数据准确性
事务补偿:同样保证数据准确性
重试:提高成功率,改善用户体验
熔断:保证系统承载能力,减少系统故障时的级联影响
限流:保证系统的承载能力,提供稳定的服务
降级:保证系统的承载能力,暂时停止非核心业务服务,保证核心服务不中断
异地多活:天灾人祸时,保证服务不中断
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文),返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
复制代码
作业二:
根据当周学习情况,完成一篇学习总结
版权声明: 本文为 InfoQ 作者【Airs】的原创文章。
原文链接:【http://xie.infoq.cn/article/9b5365f27aae08e78d9f355b3】。未经作者许可,禁止转载。
评论