序
假设我们现在有一个系统,需要满足用户根据不同商品进行下单的操作,简而言之。我们需要三个服务,商品,用户,订单。以及对应三个服务的存储。
单应用架构
一个机器,部署三个服务,同时数据也部署在服务器上,整体系统就是一个应用。
image.png
应用服务器与数据服务器隔离
将数据的存储单独放置,变成两个服务器,应用服务器与数据服务器
image.png
应用服务器集群
在单机压力到达瓶颈后,使用集群来处理业务请求,将应用部署在多台服务器上。
image.png
应用服务器负载均衡
解决服务负载不均衡问题,充分利用服务器集群的性能
image.png
读写分离
读写分离,解决数据库压力。
image.png
搜索引擎
进一步降低数据库压力,引入搜索引擎,辅助数据检索
image.png
引入缓存
以mysql举例,mysql 3000qps,无法完成更高的数据请求,引入缓存可以有效阻挡数据库的访问。
image.png
数据库拆分
单数据库存储数据较多会导致耗时增长,通过分库分表可以减少单数据库数据总量,减少耗时。
image.png
应用拆分
将商品、订单、用户拆分为三个应用,各个应用完成各自的本质工作,解耦关联。
image.png
服务化
将不同应用组建为服务,整合不同功能模块,统一收口,由不同的中心进行处理。
image.png