构建高并发高可用的电商平台架构实践 一、 设计理念 1
空间换时间1) 多级缓存,静态化客户端页面缓存(http header 中包含 Expires/Cache of Control,last modified(304,server 不返回 body,客户端可以继续用 cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)内存数据库Buffer、cache 机制(数据库,中间件等)2) 索引哈希、B 树、倒排、bitmap哈希索引适合综合数组的寻址和链表的插入特性,可以实现数据的快速存取
B 树索引适合于查询为主导的场景,避开多次的 IO,提高查询的效率
倒排索引实现单词到文档映射关系的最佳实现方式和最有效的索引结构,广泛用在搜索领域
Bitmap 是一种非常简洁快速的数据结构,他能同时使存储空间和速度最优化(而不必空间换时间),适合于海量数据的的计算场景
并行与分布式计算 1) 任务切分、分而治之(MR)在大规模的数据中,数据存在一定的局部性的特征,利用局部性的原理将海量数据计算的问题分而治之
MR 模型是无共享的架构,数据集分布至各个节点
处理时,每个节点就近读取本地存储的数据处理(map),将处理后的数据进行合并(combine)、排序(shuffle and sort)后再分发(至 reduce 节点),避开了大量数据的传输,提高了处理效率
2) 多进程、多线程并行执行(MPP)并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段
它的基本思想是用多个处理器/进程/线程来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算
和 MR 的区别在于,它是基于问题分解的,而不是基于数据分解
多维度的可用1)