IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 并发架构二 -> 正文阅读

[大数据]并发架构二

前端静态化页面:

通过对数据进行静态化,也是有很多问题的,比如我们商品如果过多,freemark模板一定修改之后,我们所有的商品都需要重新再次生产静态化,这个工作量实在是太大了。

然后加入缓存的并发问题

分布式锁(redis)
redis实现方式 可以使用setnx这个命令 它的机制如果这个数据存在那么它会添加失败 redis给我们封装了分布式锁的实现 可以使用redisson

zk实现分布式锁就是利用它的临时顺序节点 绑定一个线程 如果是第一个得到锁的线程那么它肯定排在第一个 所以如果线程不在第一个那么就表示它不能得到锁 这样实现

然后就引入缓存redis

引入缓存并发量是会提升 但是又有新的问题 缓存数据库 数据不一致、增加网络io压力

数据库读写不一致 可以给数据设置一个过期时间 变为最终一致性 比如设置5秒 就可以保证5秒之后数据是一直的 只有5秒之内数据会存在不一致的问题

增加网络io压力的问题 可以使用jvm层面的缓存 就是在代码中创建hash集合 把数据存到集合中 如果集合没有再去redis中查找

缓存失效的问题

缓存击穿 有100个请求过来访问key为26的数据 这时这条数据过期了 然后100个请求都打入数据库了 解决方法就是加分布式锁

缓存穿透 就是恶意攻击 访问不存在的数据 解决方法 可以把这些不存在的数据也放到缓存中 或者使用布隆过滤器 布隆过滤器有一个很大的数组 请求来了之后进行哈希算法进入一个数组的槽中如果不存在就把value设置为空的

缓存雪崩 雪崩跟击穿一样 雪崩是同一时间大量的key过期了 但是来了很多请求 这样这些请求就都会直接访问数据库 解决方法就是随机过期时间并加分布式锁

缓存和数据库双写一致性问题:

一致性问题是分布式常见问题,还可以再分为最终一致性和强一致性。数据库和缓存双写,就必然会存在不一致的问题。
答这个问题,先明白一个前提。就是如果对数据有强一致性要求,不能放缓存。
我们所做的一切,只能保证最终一致性。另外,我们所做的方案其实从根本上来说,只能说降低不一致发生的概率,无法完全避免。因此,有强一致性要求的数据,不能放缓存。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:16:11  更:2021-12-26 22:18:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:26:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码