架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
互联网应用主要解决的问题有高性能、高可用、可伸缩、可扩展、大数据量、安全等。
分布式架构
可用于解决高性能、可扩展问题
集群架构
用于解决高性能、高可用、可伸缩、大数据量问题
分层架构、分割架构
可扩展,为分布式做准备
缓存架构
高性能、可伸缩
异步架构
高性能、可扩展、可伸缩
自动化架构
高性能、高可用
冗余
高可用
安全架构
安全
常用的技术方案有
本地缓存、远程分布式缓存
使用缓存提高读性能,远程缓存可在多实例间共享数据
负载均衡算法
多实例情况下,分配请求任务
消息中间件
异步的消息通知,解耦组件间关系,高峰时,削峰填谷
CDN技术
静态资源放置在距离用户最近的地方,加快访问速度
反向代理
多子系统通一访问入口,用在大型网站上,有效解决跨域问题
数据库读写分离
应对数据库读写串行以及读多写少的特点,读写数据分离
数据库分库分表
数据量太大,采用拆分数据到多个库、多张表中存储
分布式NoSQL数据库
天生适合大数据量存储、且有无模式以及列式存储等类型可选
分布式文件系统
存储大量小文件,如图片、文档
微服务技术
拆分服务,拆分后,独立开发、部署、演变
中台技术
复用相同或相似的业务逻辑,避免重复造轮子,提高开发效率,可以更关组个性化业务开发
大数据平台
应对大数据量的存储、计算
机器学习
挖掘、分析数据中潜藏的关系,创造新的业务模式
评论