极客大学架构师训练营 - 第十一周学习总结
本周学习了安全架构和高可用系统
安全架构
威胁系统安全的攻击及防御手段
XSS攻击,防御手段,对请求中的文本进行消毒,过滤转义攻击性字符。
SQL注入攻击,通过正则匹配,过滤掉具有攻击性的sql。
CSRF攻击,通过token验证或验证码来防御攻击。
防御其他漏洞及攻击,避免错误回显,文本语言避免可见的注解,文件上传限制文件的类型,避免未开放的应用服务目录和文件的路径。
web应用防火墙,安全漏洞扫描平台。
信息加密,单向散列加密,用于用户密码加密。对称加密,非对称加密,用于通讯报文的加密。
密钥安全管理,将密钥分割存储,将密钥的申请,管理,审核隔离开来,使其没有交集。
反垃圾邮件,批量分类的邮件,分类算法,建立分类模型,通过模型验证,将邮件分类。
贝叶斯分类算法,布隆过滤器黑名单。
高可用系统架构
解耦:将业务拆分,使组件功能集中单一,组件界限明显,便于组件管理使用。
隔离:各系统之间界限明显,某个系统出现问题时,系统之间相互影响不不大。
异步:防止阻塞造成系统压力过大,便于程序的灵活调用。
备份:系统冗余,保证数据和程序的稳定性。
失效转移:无状态服务,方便异常数据进行补偿重跑。
幂等:防止业务数据重复处理。
事务补偿:通过执行业务逻辑逆向操作,使事务回滚到到事务之前的状态。
重试:减少网络原因造成的业务中断情况,上游超时时间要大于下游超时时间总和。
熔断:阻断故障服务的调用。
限流:常用限流算法,计数器、令牌桶、漏桶。自适应限流
降级:当系统压力过大时,关闭不必要的系统服务。
异地多活:多机房,分布在不同区域,多机房同时对外提供服务。
高可用系统运维
自动化测试、自动化部署。持续集成、持续交付、持续部署。
预发布验证,所部署服务器不加入用户访问的负载均衡服务列表,而通过内部人员进行使用。
代码版本控制。
自动化发布、灰度发布。
网站运行监控、监控数据采集。
用户行为日志收集,服务器性能监控、业务运行数据报告。
监控管理,被监控的系统推送监控信息,监控信息集成基础设施,进行数据存储,通过控制台对服务进行监控调查,通过监控代理进行健康检查并及时报警。
高可用价值观:保持简单,是问题易于发现,快速解决。目标明确,解决特定环境下的具体问题。价值回归,成本收益要合理。
评论 (1 条评论)