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