提高响应性能三板斧

提高响应性能的手段归根结底就是:队列(Queue),缓存(Cache),分区(Partition).

  1. 队列:可以缓解并发写操作的压力,提供系统伸缩性,同时也是异步化系统的最常见的手段。
  2. 缓存:从文件系统到数据库系统再到内存的各级缓存模块,解决了数据就近读取的需求。
  3. 分区:保证了系统规模扩张和长期数据积累是,频繁操作数据集规模在合理的范围内。

关于数据库,区分冷热数据,按照读写操作规律合理拆分存储。
  区分索引和实体数据,索引是数据的key,易变,一般用于筛选和定位,要保证充分的拆分存储,极端情况下要把关系数据库当做NoSQL用;实体数据时value,一般是正文文本,通常不变,一般业务下只按主键查询;两者要区分开。
  区分核心业务和附加业务数据,没一项附加的新业务数据都单纯存储,与核心业务数据表分开,既可降低核心业务数据库变更的成本,还可以避免新业务频繁调整上下线时影响核心业务。

关于缓存:
  1. 最好的缓存方案是不用缓存,缓存带来的问题往往多于它解决的问题。
  2. 只有经常使用数据才需要缓存
  3. 读缓存分为主动(Server推)和被动(Client拉)两种更新方式。主动更新方式一搬适用于更新频率较高的热数据,可保证缓存未命中时,失控的用户行为不会引起系统连锁反应,导致雪崩。被动更新一般适用于更新频率相对较低的数据。
  4. 缓存的更新操作尽量设计为覆盖方式,避免偶然发生数据错误的累积效应。
  5. 高并发写缓存数据实体的id最好是UUID,插入之前确定。

猜你喜欢

转载自uzoice.iteye.com/blog/2180682