首页
3D照片墙
统计
留言
Search
1
1.OAuth 的简单理解
115 阅读
2
多个拦截器的执行顺序
105 阅读
3
基于Annotation方式的声明式事务
102 阅读
4
6.设计模式汇总
101 阅读
5
Unity 依赖注入
98 阅读
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
Search
标签搜索
排序算法
vue
算法
遍历
docker
线性
数组
dom
synchronized
数据库
xml语言
log4j
bigint
静态函数
静态方法
哈夫曼树
const
冒泡排序
商标设计
命令模式
Bi8bo
累计撰写
304
篇文章
累计收到
6
条评论
首页
栏目
Java
JDBC
Spring
Spring MVC
SpringBoot
SpringCloud
MybatisPlus
Mybatis
Maven
SpringSecurity
JVM
java注解与反射
Java JUC并发编程
SSM
.NET
IdentityServer4
EF
.Net Core
AbpVNext + DDD
.NET MVC Api
前端
Jquery&JavaScript
uniapp
VUE
Echars
Vue底层原理
Python
Django
软考笔记
软件设计师
1.计算机组成与体系结构
10.面向对象技术
11.UML类图建模
12.面向对象程序设计
13.数据结构
14.算法基础
16.知识产权标准化
17.程序设计语言
2.操作系统
3.数据库
4.数据库设计
5.计算机网络
6.信息安全
7.系统开发基础
8.项目管理
9.数据流图
架构设计
CQRS架构
DDD架构
数据库技术
SQL锁
SqlServer
Oracle 主从备份
Oracle RAC集群
Mysql
云原生/容器技术
kubernetes
Docker
数据结构与算法
常用中间件
Redis
RabbitMQ 消息队列
ElasticSearch
其他
PHP
OAuth 2.0
WebSocket
ArkTs Harmony 开发
运维
页面
3D照片墙
统计
留言
搜索到
304
篇与
的结果
2024-12-12
Redis缓存雪崩解决方案
缓存雪崩 描述: 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是, 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。 解决方案: 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中。 设置热点数据永远不过期。
2024年12月12日
70 阅读
0 评论
1 点赞
2024-12-12
Redis缓存穿透解决方案
缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。 如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案: 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截; 从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击
2024年12月12日
28 阅读
0 评论
69 点赞
2024-12-12
Redis缓存击穿解决方案
缓存击穿 描述: 缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。 解决方案: 1、设置热点数据永远不过期。 2、接口限流与熔断,降级。重要的接口一定要做好限流策略,防止用户恶意刷接口,同时要降级准备,当接口中的某些 服务 不可用时候,进行熔断,失败快速返回机制。 3、布隆过滤器。bloomfilter就类似于一个hash set,用于快速判某个元素是否存在于集合中,其典型的应用场景就是快速判断一个key是否存在于某容器,不存在就直接返回。布隆过滤器的关键就在于hash算法和容器大小, 4、加互斥锁,互斥锁参考代码如下: 说明: 1)缓存中有数据,直接走上述代码13行后就返回结果了 2)缓存中没有数据,第1个进入的线程,获取锁并从数据库去取数据,没释放锁之前,其他并行进入的线程会等待100ms,再重新去缓存取数据。这样就防止都去数据库重复取数据,重复往缓存中更新数据情况出现。 3)当然这是简化处理,理论上如果能根据key值加锁就更好了,就是线程A从数据库取key1的数据并不妨碍线程B取key2的数据,上面代码明显做不到这点。
2024年12月12日
56 阅读
0 评论
48 点赞
2024-12-12
MYSQL PXC 集群
//创建网段 docker network create --subnet=172.18.5.0/24 pxcNet0 docker volume create --name pxcData1 docker volume create --name pxcData2 docker volume create --name pxcData3 docker volume create --name pxcData4 docker volume create --name pxcData5 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=AOOB.Pxc.db -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=AOOB.Pxc.db -v pxcData1:/var/lib/mysql -v pxcBackup:/data --privileged --name=node1 --net=pxcNet0 --ip 172.30.0.3 pxc docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=AOOB.Pxc.db -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=AOOB.Pxc.db -e CLUSTER_JOIN=node1 -v pxcData2:/var/lib/mysql -v pxcBackup:/data --privileged --name=node2 --net=pxcNet0 --ip 172.30.0.4 pxc docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=AOOB.Pxc.db -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=AOOB.Pxc.db -e CLUSTER_JOIN=node1 -v pxcData3:/var/lib/mysql -v pxcBackup:/data --privileged --name=node3 --net=pxcNet0 --ip 172.30.0.5 pxc docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=AOOB.Pxc.db -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=AOOB.Pxc.db -e CLUSTER_JOIN=node1 -v pxcData4:/var/lib/mysql -v pxcBackup:/data --privileged --name=node4 --net=pxcNet0 --ip 172.30.0.6 pxc docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=AOOB.Pxc.db -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=AOOB.Pxc.db -e CLUSTER_JOIN=node1 -v pxcData5:/var/lib/mysql -v pxcBackup:/data --privileged --name=node5 --net=pxcNet0 --ip 172.30.0.7 pxc 删除所有节点docker rm node1 node2 node3 node4 node 5和数据卷中的grastate.dat文件 rm -rf /var/lib/docker/volumes/pxcData1/_data/grastate.dat rm -rf /var/lib/docker/volumes/pxcData2/_data/grastate.dat rm -rf /var/lib/docker/volumes/pxcData3/_data/grastate.dat rm -rf /var/lib/docker/volumes/pxcData4/_data/grastate.dat rm -rf /var/lib/docker/volumes/pxcData5/_data/grastate.dat docker stop node1 node2 node3 node4 node5 重新执行集群创建的命令即可,因为数据都在数据卷中,所有放心,集群重新启动都数据仍然都在 --》 容器全部初始化完毕后 --》停止全部节点容器--》去主节点node1数据卷复制全部 .pem 文件到其他节点数据卷 --》删除所有节点数据卷下面的grastate.dat --》 删除全部节点 --》重新初始化容器 --》 所有容器依次启动,启动其他容器先关闭之前启动的那个从节点,等所有容器跑过一边再运行其他的(依次运行!!!!!!!) //所有节点无法启动 vim /var/lib/docker/volumes/pxcData2/_data/grastate.dat 改 node1 节点内的safe_to_bootstrap为 1表示引导节点 这个值是用来判断是否是主节点,0表示非引导节点,-1表示引导节点(引导节点-最后关闭的节点) 直接通过docker start node1 或者任何一个节点是启动不了的,原因是集群之前的同步机制造成的,启动任何一个节点,该节点都会去其它节点同步数据,其它节点仍处于宕机状态,所以该节点启动失败,这也是pxc集群的强一致性的表现。
2024年12月12日
73 阅读
0 评论
78 点赞
2024-12-12
Haproxy 做mysql 负载均衡
global daemon #以后台形式运行harpoxy ########默认配置############ defaults log global mode http #日志格式 option httplog #日志中不记录负载均衡的心跳检测记录 option dontlognull #连接超时(毫秒) timeout connect 5000 #客户端超时(毫秒) timeout client 50000 #服务器超时(毫秒) timeout server 50000 #------------- #Stats monitor #------------- frontend stats_monitor bind *:30001 stats enable stats uri /stats stats auth admin:AOOB.hy.db stats admin if TRUE stats refresh 5s stats realm baison-test-Haproxy ########统计页面配置######## listen test1 #这里是配置负载均衡,test1是名字,可以任意 bind 0.0.0.0:6556 #这里是监听的IP地址和端口,端口号可以在0-65535之间,要避>免端口冲突 mode tcp #连接的协议,这里是tcp协议 option mysql-check user root server s1 127.0.0.1:3306 check weight 1 maxconn 2000 #负载的机器 server s2 127.0.0.1:3306 check weight 1 maxconn 2000 server s3 127.0.0.1:3306 check weight 1 maxconn 2000 docker container run -p 6556:6556 -p 30001:30001 -d -v haproxy:/usr/local/etc/haproxy --name=haproxy --net=pxcNet0 --ip 172.18.0.50 haproxy:1.8.8 创建监听的用户 CREATE USER 'haproxy'@'%' IDENTIFIED by ''; FLUSH PRIVILEGES
2024年12月12日
93 阅读
0 评论
27 点赞
1
2
3
...
61