秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。 从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是 ...
分类:
其他好文 时间:
2020-04-18 09:48:00
阅读次数:
92
性能优化: 数据库缓存、热点数据放到缓存。 数据库垂直拆分、不同的数据放到不同的数据库中存储。 主从复制、给数据库添加备份库。 读写分离。写数据库到主库,读数据到备份库。 配置集群。 分库:将热点数据放到一个库,将冷数据放到另外数据库。 分表:将同一张表的数据放到不同的库中的相同表。例如:按照 id ...
分类:
其他好文 时间:
2020-03-30 21:40:00
阅读次数:
69
1.为什么要使用Elasticsearch? ? 因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们将经常查询的商品的某些字段,比如说商品名,描述、价格还有id这些 ...
分类:
Web程序 时间:
2020-03-19 13:21:07
阅读次数:
71
冷热数据分离业务不断地在增长,集群分片中的数据也会随着时间的推移而增加,其中有相当一部分的数据是很少被使用的,例如几年前的订单记录、交易记录、商品评论等数据。这部分数据就称之为冷数据,与之相反经常被使用的数据则称之为热数据。我们都知道当MySQL的单表数据量超过两千万时,读写性能就会急剧下降。如果其中存储的大部分都是高价值的热数据还好说,可以花费资金去扩展集群分片,因为这些数据可以带来收益。但如果
分类:
其他好文 时间:
2020-01-24 10:54:08
阅读次数:
100
为什么说Redis是单线程的以及Redis为什么这么快! 一、前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一 ...
分类:
编程语言 时间:
2019-12-13 17:49:57
阅读次数:
118
作者:中华石杉 面试题 如何保证缓存与数据库的双写一致性? 面试官心理分析 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要 ...
分类:
数据库 时间:
2019-12-04 01:17:35
阅读次数:
125
1. Ignite 特性: 持久化层:Ignite 同时支持原生持久化和用第三方存储做持久化。(比如在内存足够情况下,数据可以全部加载到内存中。 而当内存紧张时,可以只加载热数据至内存中,冷数据就留在硬盘上。) Ignite 内存存储层:数据可以通过不同分区,复制模式分布在 Ignite 集群所有节 ...
分类:
Web程序 时间:
2019-12-02 10:31:15
阅读次数:
258
数据库变为瓶颈后, 数据查询如何加速和优化? 正常来说有了主从分离和分库分表之后,已经可以支撑十几万的DAU,但量大了以后,磁盘io会成为一个瓶颈,需要额外方案去提供性能 缓存 缓存其实不一定非要内存里,再某些场景下可以使用SSD作为冷数据的缓存,比如360开源的pika就是SSD存储数据解决red ...
分类:
其他好文 时间:
2019-10-15 19:25:52
阅读次数:
103
HDFS数据清理一些办法: datanode数据做reblance清理临时目录、日志目录文件全量分区表历史分区清理使用lzo,orc格式进行数据压缩清理或者归档历史冷数据增加datanode横向扩容附上自动清理目录下过期的文件 #!/bin/bashsource ~/.bash_profile # ...
分类:
其他好文 时间:
2019-09-30 09:32:15
阅读次数:
231
@ "TOC" 没缓存的日子: 对于web来说,是用户量和访问量支持项目技术的更迭和前进。随着服务用户提升。可能会出现一下的一些状况: 1. 页面并发量和访问量并不多,mysql 自己逻辑业务的发展。那么其实可以不加缓存。最多对静态页面进行缓存即可。 2. 页面的并发量显著增多,数据库有些压力,并且 ...
分类:
其他好文 时间:
2019-08-07 13:18:14
阅读次数:
85