架构师训练营 第四周 作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
互联网系统所面临的挑战主要包括:
高并发、大流量
高可用
海量数据
网络情况复杂
安全环境恶劣
需求快速变更,发布频繁
渐进式发展
对于以上挑战,互联网应用系统可以使用以下技术和手段解决:
前端架构
App及Web开发技术
浏览器及HTTP优化技术:提高用户体验,减少响应时间
CDN:提高访问速度,减少到后台的流量
动静分离 动态、静态资源分离:便于将分离的静态资源做缓存
图片服务
反向代理:Web加速,将Web服务器做前置机,降低应用服务器负载
DNS 域名解析:就近访问,减少网络延迟
网关及应用层架构
网关架构:统一入口,提高安全性,降低前后台服务器耦合,动态路由
负载均衡:通过负载均衡实现服务集群化,共同对外服务,水平扩展
动态页面静态化:减少计算,静态化业务可缓存,提高响应速度
业务拆分:拆分后便于分布式部署,水平扩展
服务层架构
微服务框架:业务解耦,提高开发效率,提高系统可扩展性
分布式消息队列:解耦、流量削峰
分布式缓存:降低数据库压力,提高响应速度
分布式一致性服务:保证数据一致性问题
存储层架构:解决数据量大的问题
分布式文件
分布式关系数据库
NoSQL数据库
后台架构:解决海量数据、数据分析等问题
大数据平台
搜索引擎
推荐引擎
数据仓库
运维安全:解决安全问题
数据采集展示
数据监控报警
攻击与防护
数据加密与解密
评论