写点什么

第四周课后练习作业一

用户头像
lithium
关注
发布于: 2020 年 11 月 15 日

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

  1. 分层和分割:将系统横向的分为几个层次,每部分负责几个相对比较单一的职责,然后通过上层对下层调用完成整个系统;同时把不同的服务与功能分割开来包装成为几个不同的模块,有助于软件的开发维护和分布式部署。

  2. 分布式:把系统的不同模块部署在不同的服务器上,通过远程调用协同工作。这样就可以使用更多机器来处理任务,提高并发访问的效率和处理的数据量。

  3. 集群:对于用户访问比较集中的服务,比如网站首页,需要将独立部署的服务器集群化,多台服务器通过负载均衡设备共同对外提供服务。

  4. 缓存:缓存是改善软件性能的一个手段,把数据存放在距离最近的位置加快访问速度。cdn,反向代理等等都使用到了缓存服务。对于一些用户经常访问的内容(比如一个新浪的热搜中top 10的内容),可以通过缓存加快用户访问速度,分担服务器的读请求压力

  5. 异步:旨在降低不同模块之间的耦合性。大型的网站架构之中除了使用分层,分割和分布式等手段,也经常使用异步,把一个业务操作分成多个阶段,每阶段之间通过共享数据而不是直接的调用来进行协作。它提高了系统的可用性,加快网站的响应速度并且消除了并发访问的高峰。

  6. 冗余:防止服务器down的时候停止服务丢失数据,通常我们需要一些服务器冗余和数据冗余备份。我觉得这里可能还涉及到backup,redundancy相当于提供了一种实时的fail fast的复原方案,而backup更多时候是一种离线的备份,是为了某些极端情况准备的。(可能对于一个网站两种方案都需要准备)

  7. 自动化:无人值守的时候网站可以正常的运行

  8. 安全性:大型网站经常面对黑客的攻击,现在常见的方案有通过密码和手机校验码进行身份认证,存储的敏感数据必须加密,验证码服务等等,都是为了使得大型网站更加安全,预防用户信息泄漏甚至钱财损失这一类安全事故发生。

用户头像

lithium

关注

还未添加个人签名 2018.07.07 加入

还未添加个人简介

评论

发布
暂无评论
第四周课后练习作业一