第 11 周作业
内容总结
作业
(至少完成一个)
导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?请分别列举并简述。
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文),返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
导致系统不可用的原因总结并不限于以下:
硬盘故障:硬盘存储满了,导致机器宕机。常见是由于日志打印频繁,或者大文件上传占用未及时清理。通过日志级别控制、程序日志规范起来、第3方组件日志处理要熟悉并加以控制等措施避免日志大量输出;文件上传导致的问题要及时清理、限制文件大小、文件切分上传等方式解决
数据库故障:a) 无正确使用索引情况下,慢查询被频繁访问,导致数据库压力大处理变慢;b) 缓存失效导致数据库压力增大。对a)问题,尽量避免频繁页面中请求数据库,适应加入缓存,同时合理优化索引;对b)问题,重视缓存服务,确保缓存服务稳定可靠,同时避免冷启动,通过脚本预加载缓存
锁的不正确使用,导致应用程序响应超时:长时间IO操作中使用锁,导致其它处理阻塞,程序处理变慢。这种情况要避免使用锁,而应该在合理的时候使用、或避免用锁
评论