写点什么

作业:一个典型的大型互联网架构演进采用的技术

用户头像
蒜泥精英
关注
发布于: 2020 年 07 月 01 日
作业:一个典型的大型互联网架构演进采用的技术

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?


1、业务应用和数据库分离;

解决问题:降低系统服务器的 CPU、内存、IO 方面的瓶颈;

2、使用分布式缓存 redis、memerycache 等,

解决问题:降低数据库的 IO 访问,降低数据的查询时间,提高接口查询效率和 TPS;


3、数据库主从复制,读写分离,数据库主用库来写,从库用来读;

解决问题:降低主库的 IO 压力,充分利用从库的资源;


4、软件层,NGINX 反向代理负载均衡调度;

解决问题:应用多实例部署,集群化,提高业务处理能力,提高业务可用性


5、通过 CDN 访问静态资源

解决问题:提高静态资源的访问速度;


6、部署分布式文件服务器

解决问题:提高静态文件的访问速度;


7、部署 ElasticSearch 类 NOSQL

解决问题:提高数据查询效率,并可存储海量的数据;


8、部署分布式数据库服务器、分部署缓存

解决问题:提高业务数据的存储容量,水平扩展服务节点;


9、按业务模块对业务数据库分库,对大表进行分表、数据分片;

解决问题:降低单个数据库或集群的性能压力;降低单表的大小;


10、对数据进行冷热数据分离;

解决问题:提高常用数据的查询效率,降低存储资源的成本;


11、根据业务模块、业务功能,对业务组件进行拆分、解耦;

解决问题:解耦业务组件,可独立部署,提升单个业务组件的处理能力;


12、采用分布式消息队列,异步方式处理业务

解决问题;提高业务处理并发能力;提高可用性;消除并发访问高峰


13、对业务服务器节点冗余部署

解决问题:防止单点故障;


14、多机房分布部署,部署主备容灾节点

解决问题:异地容灾备份,防止业务故障导致的


15、升级服务器配置,提高 CPU 、内存、更换 SSD

解决问题:提高单台服务器的性能,提高处理能力;


16、采用微服务架构,容器化部署

解决问题:可实现快速部署,提高版本迭代效率;


17、架构分层,横向、纵向进行划分

解决问题:各个模块解耦,职责单一,便于分解给不同的团队去开发实现;


18、统一的 API 接入网关

解决问题:流量控制,安全策略控制;


19、对 REDIS、ElasticSearch 、KAFKA 等中间件根据业务模块进行垂直拆分;

解决问题:业务数据量太大,单个集群水平扩容已经达到了性能瓶颈;


20、打造中台底座能力

解决问题:将基础能力公共化,上层业务调用基础服务,加快业务迭代速度;


用户头像

蒜泥精英

关注

还未添加个人签名 2018.09.19 加入

还未添加个人简介

评论

发布
暂无评论
作业:一个典型的大型互联网架构演进采用的技术