
分布式
文章平均质量分 88
无风偏偏心动
晴耕雨织,笔耕不辍
展开
-
高并发情况下加锁-本地锁、分布式锁实现
前言在高并发情况下,要保证服务端的性能,那么会采用缓存来提高服务端的性能,如百万请求访问一个查询的接口,这个接口做了缓存,但是不能保存并发同时到达接口时缓存中也没有数据,恰巧这百万的并发又进入到数据库,那么这时数据库压力过大,导致数据库崩溃,导致服务的不可用,乃至整个系统的崩溃,那么这是由于并发同时绕过了缓存判断直接进入到数据库导致的,这时就可以针对这个并发问题进行加锁本地锁单体项目时可以这么做–伪代码 public R getData { /** * 将数据库的转载 2021-01-23 19:46:09 · 655 阅读 · 0 评论 -
flink安装
下载从https://archive.apache.org/dist/flink/flink-1.7.2/下载1.7.2版本或者官网https://flink.apache.org/zh/downloads.html#section-7下载最新版基础环境flink核心模块均使用Java开发,所以运行环境需要依赖JDK,需要注意的是JDK版本需要保证在1.8以上。1、下载好所需版本的jdk可以去官网下载www.oracle.com一定要下载linux版本的 可参考:https://blog.c原创 2020-12-31 13:42:42 · 469 阅读 · 0 评论 -
redis安装
下载从英文官方网站https://redis.io/download或者中文官方网站http://redis.cn/下载Redis安装包上传解压在linux下创建(mkdir redis)一个redis文件夹,将刚才下载的文件,上传到其中。然后解压:root@master ~#tar -zxvf redis-5.0.5.tar.gz安装gcc依赖root@master ~#yum install gcc -y遇到选择输入y即可编译安装进入解压目录,编译安装root@master原创 2020-12-30 16:35:08 · 147 阅读 · 0 评论 -
zookeeper安装
下载到官网去下载你想要的版本 官网下载地址上传解压用你想得到的一切方法(ps:可以在linux中使用rz上传命令),把你刚才下载的文件,上传到Linux文件系统中。然后解压:[root@localhost tmp]#tar -zxvf zookeeper-3.4.10.tar.gz将解压后的文件复制到/usr/local目录下,并重命名为zookeeper:[root@localhost tmp]# cp zookeeper-3.4.10 /usr/local/zookeeper -r /转载 2020-12-30 15:02:27 · 111 阅读 · 0 评论 -
布隆过滤器在redisson中的使用
布隆过滤器在redisson中的使用数据库的数据是存储在磁盘上的,高速访问会存在性能问题,使用缓存中间件Redis,可以缓解数据访问的压力;同时数据库查询不到的数据会放在缓存中,并存入 NULL 值,降低数据库消耗;但是若是这样的NULL值过多则会降低缓存性能,什么方式能过滤掉这些无意义的查询,布隆过滤器由此而生本质: 布隆过滤器使用Bit-map(位图)进行标记,达到判断“一定不存在和可能存在”的目的解决什么问题: redis缓存穿透基于redisson的BloomFilter的使用1.原创 2020-11-27 20:19:20 · 2344 阅读 · 0 评论 -
分布式锁比较
分布式锁比较基于数据库1. 基于数据库表 直接创建一张锁表,当要锁住某个方法或资源时,在该表中增加一条记录,想要释放锁的时候就删除这条记录。给某字段添加唯一性约束,如果有多个请求同时提交到数据库的话,数据库会保证只有一个操作可以成功,那么我们就可以认为操作成功的那个线程获得了该方法的锁,可以执行方法体内容。2. 基于数据库排他锁 如果使用的是MySql的InnoDB引擎,在查询语句后面增加for update,数据库会在查询过程中(须通过唯一索引查询)给数据库表增加排他锁,我们可以认为获得排它原创 2020-11-25 18:51:15 · 279 阅读 · 0 评论