week4- 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
问题一、高并发,大流量
技术方案:1)、垂直伸缩:通过升级硬件和网络吞吐能力可以实现垂直伸缩。由于不需要改变应用架构,所以通常被认为是最简单的短期伸缩性方案;
2)、水平伸缩:通过增加服务器提升计算能力的一类架构方法。
3)、应用数据分离;
4)、使用缓存改善系统性能;
5)、使用应用服务器集群改善系统的并发处理能力;
问题二、高可用
技术方案:1)、冗余:服务器冗余运行,数据冗余备份;
问题三、海量数据
技术方案:1)、读写分离
2)、冷热分离
3)、分布式文件系统和分布式数据库系统
4)、使用 NoSQL 和搜索引擎
问题四、用户分布广泛,网络情况复杂
技术方案:1)、CDN
2)、反向代理
问题五、安全环境恶劣
技术方案:1)、通过密码和手机校验码进行身份认证;
2)、登录、交易等操作需要对网络通讯进行加密,网站服务器上存储的敏感数据如用户信息等也进行加密处理;
3)、为了防止机器人程序滥用网络资源攻击网站,网站使用验证码进行识别;
4)、对于常见的用于攻击网站的 XSS 攻击,SQL 注入,进行编码转换等相应处理;
5)、对于垃圾信息、敏感信息进行过滤;
6)、对转账交易等重要操作根据交易模式和交易信息进行风险控制;
问题六、需求快速变更,发布频繁
技术方案:1)、业务拆分
2)、微服务及中台化
3)、事件驱动架构和分布式服务;
问题七、渐进式发展
评论