大型系统架构演化
来源:互联网 发布:网络微博推广公司 编辑:程序博客网 时间:2024/05/16 18:00
互联网系统一般会有几个特色标签:用户基数大、高并发高访问量、海量数据存储、业务更新频繁。看似复杂的系统也不是一蹴而就,任何事情都会经历一个由小到大的发展过程。今天我们就来看看一个系统是如何随着业务的扩张而不断演化的。
1. 早期的系统由于业务简单,应用服务器和数据库都是在一台服务器。
2. 随着用户访问量逐渐增大,系统资源慢慢成为瓶颈。此时可以考虑将应用服务器与数据库分离,各司其职
3. 数据压力全部压在了数据库上,此时数据库会有点吃不消,我们可以考虑将一些不经常变化的数据存在缓存中,每次先从缓存中读取,如果为空再从数据库查,同时将数据保存一份到缓存中。缓存要考虑失效机制,数据源头的修改一定要记的更新缓存
4. 随着网站的访问量进一步提升,单台服务器吞吐量已达到上限,此时需要考虑集群策略,引入负载均衡
5. 随着上层服务器的不断扩充,底层数据存储与查询慢慢出现瓶颈,开始考虑分库分表。而缓存也开始引入分布式缓存,部署多个服务存储节点
6. 随着业务的不断升级,开始考虑将按业务拆分系统,以电子商务为例,拆为商品、交易、会员、评价等,各系统间通过http协议建立连接
7. 由于各个业务系统需要互通信息,比如下单时,需要查商品的价格、库存等信息,此时引入服务化中心,每个业务都会有自己的服务化中心,各个服务化中心通过RPC同步调用建立关联
8. 有的操作链路很长,RT很高,我们可以将一些不重要的操作剥离出来,采用异步消息模式,如果你对这个业务操作感兴趣,那么只需要订阅消息然后进行相应的业务处理
9. 对于海量数据的存储,nosql性能更佳,比如历史订单都是存在Hbase
10. 由于用户来自全国各地,尽量让用户就近下载资源,引入cdn,cdn放的是静态内容,比如js、css、图片、静态页面等,而对于动态内容还是要请求应用服务器来获取
- 大型系统架构演化
- 大型系统架构演化
- 大型网站系统架构的演化
- 大型网站系统架构演化之路
- 大型网站系统架构演化之路
- 大型网站系统架构演化之路
- 大型网站系统架构演化之路
- 大型网站系统架构演化之路
- 大型网站系统架构的演化
- 大型网站系统架构演化之路
- 大型网站系统架构的演化
- 转载 - 大型网站系统架构的演化
- 大型网站系统架构的演化
- 大型网站系统架构的演化
- 解读大型网站系统架构的演化
- 大型网站系统架构演化之路
- 大型网站系统架构的演化
- 大型网站系统架构演化之路
- Haptic 空间映射
- 如何将磁盘从GPT格式转换成MBR
- DBA基础
- 如何将Emmet安装到Notepad++?
- 基本递归与尾递归
- 大型系统架构演化
- Emmet:HTML/CSS代码快速编写神器
- 一个复制 android 项目并修改对应类数据的python脚本
- 最牛B的编码套路
- 图像的傅里叶变换
- java基础入门02
- 基于 Sage 的坐标变换(符号运算)
- jscharts学习
- Struts2 小笔记之验证原则