第四周
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列
举描述。
1.动静分离和 CDN 加速、文件服务器。
主要将静态的前端资源、文件对象存储,跟应用服务剥离。静态资源与文件对象所需的是占用更大的带宽,就近访问,高可用,高性能的存储。这点跟应用服务专注于提供 api 接口是两种不同的场景。采用此技术方案后,系统不容易受到带宽,IO 等方面的影响。而且专门的文件服务器能提供更加全面,强大的功能支持。
2.缓存。
由于关系型数据库性能的极限性。缓存高速的读写能力,能极大的提升系统的并发能力与相应速度。
3.消息队列
消息队列不仅能对系统进行解耦,而且在非实时处理场景下,将一些非必要的操作放到消息队列中,能加快业务过程的处理,同时也可以用于流量削峰。而且是分布式事务中,达到最终一致性的一种简易手段。
4.NoSql。
就像 habase 与 mongodb 提供了海量数据存储,与文档结构的存储。
5.搜索引擎
提供了海量数据近实时的检索与分析的能力
6.分表分库,读写分离。
极大地提高了数据库的存储能力与并发访问能力。
7.微服务
将系统进行解耦拆分,拆分后的系统能应对更高的并发需求,与需求的变化。同时将公共的功能服务化后,职能更清晰专注。
8.hadoop,spark 等大数据技术栈
为海量数据的清洗,分析,提供了简便的方法。海量数据的处理同时也是机器学习的基础。
评论