第四周作业:互联网应用系统
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
前端架构
App及Web开发技术
浏览器及HTTP优化技术->用来提高用户访问体验,加速响应时间
CDN->在离用户近的各局点设置“缓存服务器”,缓存大部分静态数据,这样既降低了应用服务器的压力,又能够使得用户请求得到快速响应。
动静分离 动态、静态资源分离->将静态资源文件部署在专门的服务器中,与WEB动态内容分离。可独立访问静态资源文件。
图片服务->将图片、视频等大文件独立部署,与其他内容分享,并可使用CDN技术和缓存技术。
反向代理->在应用服务器、文件服务器之前进行反向代理,提供页面缓存服务。
DNS 域名解析->域名服务,解析域名到IP,可通过智能DNS实现DNS负载均衡,指向对应的服务器上。
网关及应用层架构
网关架构
负载均衡->可对集群服务器进行负载均衡,分摊请求到不同的服务器上。可对web服务器、文件服务器、应用服务器进行负载均衡。
动态页面静态化->对于访问量特别大而更新不频繁的动态页面,可以将其静态化,生成静态页面。再利用静态页的优化手段加速用户访问,如反向代理、CDN、浏览器缓存等。
业务拆分->将一个大的问题,分解为多个简单的系统,各自维护
服务层架构
微服务框架->应用拆解到不同的服务中,实现敏捷开发和部署。微服务的优点包括复杂度可控、独立按需扩展、技术选型灵活、容错、可用性高。同时也带来些缺点包括多服务运维难度大、系统部署依赖、服务间通信成本高、数据一致性不容易保障、系统集成测试难度高、性能控制难等
分布式消息队列->实现业务和业务、业务和服务之间的异步消息发送及低耦合的业务关系。像Kafka、MQ等
分布式缓存->通过可伸缩的服务集群提供大规模热点数据的缓存服务。像memcached、Redis等
分布式一致性服务->保障数据的一致性
存储层架构
分布式文件->用于存储图片、网页、视频等文件。可以使用云存储,像七牛云、阿里云OSS等。也可以自己搭建DFS系统,像Hadoop
分布式关系数据库->支持事务、大数据量
NoSQL数据库->无事务,大数据量
后台架构
大数据平台
搜索引擎
推荐引擎
数据仓库
运维安全
数据采集展示
数据监控报警
攻击与防护
数据加密与解密
评论