写点什么

架构师 0 期 | 大型互联网系统使用了哪些技术?

用户头像
刁架构
关注
发布于: 2020 年 07 月 01 日
架构师 0 期 | 大型互联网系统使用了哪些技术?

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

请列举描述。

大型互联网系统主要面临的问题

业务规模大,用户体量大所导致的高并发访问请求引起的问题。

当面对大体量的用户访问时,整个技术挑战就会变得完全不一样。

垂直伸缩

最快速的解决方法是,直接提升单台服务器的能力,加CPU,加内存,换更强的硬件。

升级为小型机、中型机、大型机。

优点是快。

缺点是价格高昂,有瓶颈,到一定程度之后就无法再加配置了。

水平伸缩

通过使用更多的一般服务器,将它们构成一个分布式集群。对外提供服务,当做一个整体来用。这样提升的性能理论上来说是无限的。以Google为例,目前大约有200万台服务器支撑着它的服务。

随着演进会不断使用如下技术

  1. 数据库与应用分离,分别部署: 就可以成倍的提升性能。

  2. 增加缓存:数据库的IO很容易成为瓶颈,因为它是最慢的。把常用的数据放到内存(缓存)中,就能迅速响应。

  3. 负载均衡:应用程序成为瓶颈,部署多台应用服务器,通过负载均衡对外提供服务。

  4. 数据库读写分离:根据业务情况,一般来说写的业务都会相对较少。使用多个从数据库对外提供读操作,主数据库提供写操作。

  5. 分布式文件系统:文件系统跟应用程序一样,多台服务组成集群。

  6. 分布式数据库、NoSQL数据库:提供更好的数据库性能。

  7. 搜索引擎:当数据库查询已经没法满足时,可部署独立的搜索引擎提供查询服务。

  8. CDN:使用运营商提供的(内容分发网络),让用户在最近的节点直接下载图片文件等静态资源。

  9. 前端反向代理:多服务器集群提供前置缓存,直接把静态资源返给用户。

  10. 分布式消息队列:解耦子模块,可以迅速返回,不阻塞线程。待业务完成后再通知把相应数据传过去。

阿里云时代

  1. 可伸缩服务器:根据业务需求可自由升级配置

  2. CDN:花钱就可以使用,后付费,用多少花多钱

  3. OSS:存储文件

  4. SLB:负载均衡

  5. 攻击防护:保护安全

  6. 服务器监控:监控服务器情况

大屏系统

  1. 数据监控系统

  2. 数据采集系统

  3. 业务量系统

  4. 中台



发布于: 2020 年 07 月 01 日阅读数: 57
用户头像

刁架构

关注

叫我刁架构 2017.10.25 加入

预备备网红首席架构师,移动端开发者,边缘设计支持者。

评论

发布
暂无评论
架构师 0 期 | 大型互联网系统使用了哪些技术?