写点什么

一个典型的大型互联网应用系统的技术方案 & 手段

用户头像
Amy
关注
发布于: 2020 年 07 月 01 日

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

互联网系统最大的问题就是用户量庞大、访问量大。由此引起一系列的问题。每年的双11, 618,电商系统的用户访问激增、下单量指数式增长。流量明星的悲欢离合有可能导致微博宕机。诸如此类。应对这些问题,或者由此引起的其他问题,总结了下面一些方法。



  1. 缓存技术

系统性能优化的第一步就是使用缓存技术,成本低见效快

客户端缓存:包括app客户端和浏览器。

​ cookie, localstorage, sessionstorage等

CDN缓存:把数据存在里用户最近的地方,主要解决图片、视频的加载速度,减少服务器请求

反向代理缓存:屏蔽和保护,可以缓存

分布式缓存:减少对数据库的直接访问



  1. 前端优化



压缩:js压缩、css压缩、图片压缩



延迟加载



合并:合并图片、合并请求



缓存:CDN缓存、客户端缓存



管道加载,流体加载



减少 cookie



  1. 分布式

将不同模块部署在不同的服务器上,通过远程调用协同工作

  • 分布式服务和应用

  • 分布式数据和存储

分布式缓存 —— NoSql

分布式队列 —— RabbitMq, Kafka

数据库分布式

分布式文件系统

  • 分布式计算

Hadoop

MapReduce



注意:分布式事务/分布式锁的问题



  1. 集群

多台服务器做相同的事情



  1. 拆分

业务拆分:把不同的业务拆分为多个系统

中台:把公用的部分拆出来

  1. 运维与安全

异常监控:Exceptionless

数据采集:ELK (Elasticsearch Logstash Kibana)

容器化:docker, Kubernetes

自动化部署:Jenkins

运维自动化

攻击与防护



用户头像

Amy

关注

还未添加个人签名 2018.06.10 加入

还未添加个人简介

评论

发布
暂无评论
一个典型的大型互联网应用系统的技术方案&手段