关于web系统整体优化提速总结 (2)

    由于客户端缓存在相应速度是最快的方式,但是也会有一个很致命的缺点,如果需要强制清理缓存比较麻烦,服务器端提供一个接口配置强制清缓存策略,这样能够提高客户端缓存的可控性。

  服务器缓存:服务器缓存主要存储一些登录用户相关信息,以及配置信息等。

  分布式缓存:分布式缓存主要用于缓存一些变化频率低的数据,比如:商品信息、店铺信息等等。

  运维级缓存:运维缓存主要缓存一些文件资源,如jscsshtml等,这样用户能够快速的获取到资源信息。

 

  消息队列:使用消息队列异步处理用户请求,能够将用户请求和逻辑操作解耦,提高用户相应速度。

3、数据存储上改进

  数据存储的主要改进方案是:数据库读写分离+主从备份,纵向分表+横向分区存储

  根据业务线和功能模块横向分库、在具体表上,根据实际业务采用横向拆表纵向分表存储

  业务线和功能模块横向分库:比如,订单数据、账单数据、商品相关的数据,采用独立的库存储

  横向拆表:主要是针对数据量比较大的表,按照某一规则,分表存储(是否分表的规则是保持单标数据不要超出百万),

         比如订单表,由于数据量比较大,可以按照月分表;用户表可以按照哈希分表存储。

  纵向分表:主要是针对表字段比较多的表,拆分为多表存储,一般拆分规则为:

       对于一张表如果业务上分两次访问某一张表其中一部分数据,那么就可以根据每次访问列的不同来做拆分;

         另外还可以根据列更新的频率来拆分,例如某些列每天要更新3次,有些列从创建开始基本上很少更新。

四、总结

  通过前后端分离+系统拆分:独立部署,提高系统的可使用性,提高资源的使用效率

  通过多级缓存+消息队列:提高系统相应时间、系统的吞吐量、并发数

  数据库读写分离+主从备份,纵向分表+横向分区存储:提高数据库的处理效率,和降低处理压力。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpygyx.html