大型系统架构演化

互联网系统一般会有几个特色标签:用户基数大、高并发高访问量、海量数据存储、业务更新频繁。看似复杂的系统也不是一蹴而就,任何事情都会经历一个由小到大的发展过程。今天我们就来看看一个系统是如何随着业务的扩张而不断演化的。


1. 早期的系统由于业务简单,应用服务器和数据库都是在一台服务器。


2.  随着用户访问量逐渐增大,系统资源慢慢成为瓶颈。此时可以考虑将应用服务器与数据库分离,各司其职



3. 数据压力全部压在了数据库上,此时数据库会有点吃不消,我们可以考虑将一些不经常变化的数据存在缓存中,每次先从缓存中读取,如果为空再从数据库查,同时将数据保存一份到缓存中。缓存要考虑失效机制,数据源头的修改一定要记的更新缓存



4.  随着网站的访问量进一步提升,单台服务器吞吐量已达到上限,此时需要考虑集群策略,引入负载均衡



5. 随着上层服务器的不断扩充,底层数据存储与查询慢慢出现瓶颈,开始考虑分库分表。而缓存也开始引入分布式缓存,部署多个服务存储节点



6. 随着业务的不断升级,开始考虑将按业务拆分系统,以电子商务为例,拆为商品、交易、会员、评价等,各系统间通过http协议建立连接



7. 由于各个业务系统需要互通信息,比如下单时,需要查商品的价格、库存等信息,此时引入服务化中心,每个业务都会有自己的服务化中心,各个服务化中心通过RPC同步调用建立关联



8. 有的操作链路很长,RT很高,我们可以将一些不重要的操作剥离出来,采用异步消息模式,如果你对这个业务操作感兴趣,那么只需要订阅消息然后进行相应的业务处理



9.  对于海量数据的存储,nosql性能更佳,比如历史订单都是存在Hbase



10. 由于用户来自全国各地,尽量让用户就近下载资源,引入cdn,cdn放的是静态内容,比如js、css、图片、静态页面等,而对于动态内容还是要请求应用服务器来获取




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值