架构师训练营第 1 期 - 第四周作业提交

用户头像
Todd-Lee
关注
发布于: 2020 年 10 月 18 日

作业一:

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



静态文件和CDN

将前端生成的JS文件和图片等静态文件存储到分布式存储文件系统中,并分发到CDN服务器.可以大幅度提高响应速度.



应用服务器集群

将应用服务器和数据服务器,和上述的分布式文件服务器独立并增加LB(负载均衡服务器),进行请求转发,将用户请求平均打到应用服务器集群里,能提高系统吞吐量,

分享一个我们系统目前采用的架构:



数据读写分离

将数据拆分到多个库中,一个主库负责写入,多个从库负责读取,能降低主库压力.

增加缓存

在应用服务器侧,增加本地缓存,全局增加分布式缓存服务器,能提升系统响应速度



使用NoSQL和搜索引擎

针对一些适合NoSQL存储的文件存放NoSQL数据库中,分担数据库系统压力.

使用搜索引擎应用服务器提供更快的搜索速度.



业务拆分

将系统的业务按照业务分类或者其它方式拆开到不同的子系统中,各个子系统各司其职,系统之间使用消息队列或者RPC调用.



微服务以及中台化以及自动化

将上述各个子系统进行进一步细化拆分,比如利用DDD思路,将业务从水平方向进行拆分重组,单个业务提供微服务,再使用中台模型进行重组.

使用k8s进行服务编排,实现部分运维自动化.



大数据与智能化

将数据进行整合和分析,通过目前的BI,AI等手段进行数据分析,从而反向指导业务.



监控

我们的课程中似乎并没有讲,不过我觉得这个部分也是一个不可或缺的模块,当我们的业务量足够大了,在系统即将到达临界值,甚至业务不可用等情况,要第一时间通过监控系统预先或者实时发现,然后投入人力去解决.



用户头像

Todd-Lee

关注

还未添加个人签名 2017.10.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 1 期 - 第四周作业提交