- 博客(5)
- 收藏
- 关注
原创 spring boot快速整合redis
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 添加yml配置 spring: redis: database: 0 host: 127.0.0.1 port: 6
2021-06-17 22:58:33
115
转载 NWR模型版本冲突问题
简述NWR模型 所谓NWR模型。N代表N个备份,W代表要写入至少W份才认为成功,R表示至少读取R个备份。配置的时候要求W+R > N。 因为W+R > N, 所以 R > N-W 这个是什么意思呢?就是读取的份数一定要比总备份数减去确保写成功的倍数的差值要大。也就是说,每次读取,都至少读取到一个最新的版本。从而不会读到一份旧数据。 当我们需要高可写的环境的时候,我们可以配置W = 1 如果N=3 那么R = 3。 这个时候只要写任何节点成功就认为成功,但是读的时候必须从所有的节点都读出数
2021-06-16 23:07:06
192
转载 redis下载安装
概述 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。 什么是鸽巢原理? 其中一种简单的表述法为: 若有n个笼子和n+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少2只鸽子。 另一种为: 若有n个笼子和kn+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少k+1只鸽子。 分布式系统通常支持多副本,副本存放在不同节点上,读写时需要对多个副本进行操作。考虑到一致性问题,可以在写操作更新所有副本,而读取时
2021-06-16 23:05:05
181
转载 Redis哨兵模式故障转移
故障转移步骤 哨兵选举领导者 选领导者的原因:只有一个sentinel节点完成故障转移 选举sentinel领导者 使用raft算法(https://raft.github.io),大致思路: 1、每个做主观下线的sentinel节点像其他sentinel节点发送命令,要求将自己设置为领导者 2、接收到的sentinel可以同意或者拒绝 3、如果该sentinel节点发现自己的票数已经超过半数并且超过了quorum(多数派),那么它将成为领导者 4、如果此过程选举出了多个领导者,那么将等待一段时重新进行选举
2021-06-16 22:58:26
1022
原创 自定义线程池(一)核心参数
核心参数 核心线程数 corePoolSize 如果没有设置允许主线程过期,核心线程数为线程池中保留的最大线程数 最大线程数 maximumPoolSize 线程池能创建的最大工作线程数 线程存活时间 keepAliveTime,时间类型unit 即超过核心线程数的线程过期的时间,在指定时间内未获取到任务的话,则会回收线程。 任务队列 BlockingQueue 存放任务的阻塞队列,符合先进先出原则。有ArrayListBlockingQueue和LinkedBlockQueue两种。 线程工厂 Threa
2021-06-06 21:56:19
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人