- 博客(27)
- 收藏
- 关注
原创 Redis缓存穿透、雪崩和击穿
产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点了,很快就会迎来一波抢购,这波商品时间比较集中的放入了缓存,假设缓存时间是一个小时,那么到了凌晨一点钟的时候,这批商品就会过期,而对这批商品的访问查询,都会落到了数据库上,对于数据库而言,就会产生周期性的压力波峰,于是所用的请求都会达到存储层,存储层的调用量会爆增,造成存储层也会挂掉情况。当某个key在过期的瞬间,有大量的请求并发访问,这类的数据一般是热点数据,由于缓存过期,会同时访问数据库来查询最新数据,并且回写缓存,会导致数据库瞬间压力过大。
2023-08-02 18:11:08
128
原创 基于SpringBoot+vue2+SpringSecurity图片上传
但注意:token要在data的return中定义 获取token的值,这是事先将token存在了sessionStorage里边,现在可以直接获取。在 el-upload标签中定义 :headers="{ 'Authorization': token }"是先存储的token在sessionStorage中,在登录逻辑的时候就存储。这是我在学习图片上传功能的时候自己总结出来的,希望对朋友你有所帮助。后端逻辑再学习中,请耐性等待....前端vue2中的问题上传图片。这是要上传到后端的地址。
2023-07-17 17:41:15
160
原创 JWT组成及封装
JWT的载荷部分可以自定义,可以存储任何的JSON格式的数据,这意味着我们可以使用一些自定义的功能,例如存储用户的喜好,配置的信息等等。
2023-07-13 22:37:58
275
原创 微服务中的Gateway组件
Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,定位于取代Netfix Zuul1.0。相比 Zuul 来说, Spring Cloud Gateway 提供更优秀的性能,更强大的有功能。Spring Cloud Gateway旨在为微服务架构提供一种简单且有效的 API 路由的管理方式,并基于 Filter 的方式提供网关的基本功能,例如说安全认证、监控、限流等等。网关作为流量的入口,常用的功能包括路由转发,权限校验,限流等。
2023-06-08 17:06:35
107
原创 分布式事务Seata使用及原理
Steata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,Steata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案,AT模式是阿里首推的模式,阿里云上用商用版的GTS。
2023-06-07 21:41:08
1139
原创 微服务调用组件Fegin
Feign可以做到使用HTTP请求远程服务时就像调用本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求,它像Dubbo一样, consumer直接调用接口方法调用provider,而不需要通过常规的Http Client构造请求再解析返回数据。HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Http协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。
2023-06-06 17:00:36
89
原创 微服务负载均衡器Ribbo
这种负载均衡策略带有重试功能,首先RetryRule又定义了一个subRule,他的实现类是RoundRobbinRule,然后在RetyRule的choose方法中,每次还是采用RoundRobinRule中的choose规则来选择一个服务实例,如果选到的实例正常就返回,如果选择的服务实例为null或者已经失败,则在失效的时间deadline之前不断的进行重试,若果超过了deandline还是没有取到服务实例就返回null。里面的核心方法就是choose方法,用来选择一个服务的实例。
2023-06-05 22:46:10
124
原创 Spring Cloud 的Eureka注册中心
当客户端发送请求的时候,将被LoadBalancerInterceptor负载均衡拦截器拦截,然后交由RibbonLoadBanlanIncerClient处理获取请求的名字,然后将会去的名字id,交由DynamicServerListLoadBalancer处理,然后将名字交由Eureka来获取端口,并返回给DynamicServerListLoadBalancer,然后将返回的地址交由IRule处理,在返回给RibbonLoadBanlanIncerClient处理,然后就去找资源。
2023-06-05 14:59:26
95
原创 Liunx安装nginx
nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。改nginx的端口号,因为nginx的默认端口号是8080,所以为了防止与Tomcat 端口号冲突,所以把nginx端口该成你想要的端口号。注意,要运行一下配置文件,首先将将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录。进入/usr/local/目录下,解压nginx的压缩包。
2023-06-03 18:54:14
69
原创 Liunx中集群搭建nacos
解压nacos 到/usr/local/src/ 下 并改名为nacos91919(名字可以自取) mv /usr/local/src/nacos解压的 /usr/locar/src/nacos9191 ,发布解压三次,要安装3个nacos ,改名分别为nacos9191,nacos9292,nacos9393。将 /conf/cluster.conf.example 拷贝为 /conf/cluster.conf。,配置是也要注意单位,我在这里也跳入坑,注意,注意,配置是可以根据单机版的来配置。
2023-06-03 15:23:19
132
原创 Dubbo中安装zookeeper的消息步骤以及出现的安装失败成功解决的问题
Dubbo 是阿里巴巴公司开源的一个高性能、轻量级的Java RPC 框架至力于提供高性能和透明化的RPC运程服务调用方案,以及SOA服务治理方案,
2023-05-31 18:20:59
96
原创 DockerFile
dockerFile是用来构建docker镜像的文件,命令参数脚本构建步骤:1、编写一个docker文件2、docker build构建成为一个镜像3、docker run 运行镜像4、发布镜像 docker push(DockerHub 阿里云镜像仓库)
2023-05-30 20:00:40
65
原创 Doker镜像及挂载
docker理念:将应用和坏境打包成一个镜像!容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地!这就是卷技术!也就是目录挂载,将我们容器内的目录,挂载到到本地上(Liunx上面)
2023-05-29 17:32:53
371
原创 Docker安装nginx、tomcat
问题:我们每次改动Nginx都要进入容器内部,根据十分麻烦,我要是可以容器外提供一个映射路径,达到在容器修改文件名,容器内部可以自动修改?-d 后台运行 --name 给容器区名字 -p 暴露端口。第三步 本机访问 curl localhost:8484。第二步 查看是否安装成功 出现以下 说明安装成功。注意 要在阿里云服务器防火墙上开启你端口号。第三部在电脑浏览器上访问。
2023-05-29 12:24:21
63
原创 Docker常用命令
Docker是一个Client-Server结构的系统,Docker的守护进行运行在主机上,通过socker从客户端访问,DockerServer接收到Docker-Clint的指令,就会执行。REPOSITORY 镜像的仓库源、 TAG 镜像的标签、 IMAGE ID 镜像的id 、 CREATE 镜像的创建时间 SIZE 镜像的大小。-a, --all 列出所用的镜像。docker images 查看所用本地的主机上的镜像。
2023-05-28 22:09:23
108
1
原创 Docker安装与卸载
1.隔离:Docker核心思想,打包装箱,每个箱子都互相隔离的2. 本质 : 所用的技术都因为出现了一些问题,我们需要去解决,采取学习。
2023-05-28 17:45:32
217
1
原创 Swagger自学使用版
注意:我曾经也犯错:在浏览器访问swagger-ui的时候要去springfox-swagger-ui看swagger-ui.html所在的路径;提示:版本不同,所在的路径不同,我的是2.9.2版,swagger-ui.html在springfox-swagger-ui-2.9.2.jar/META_INT/resources路径下。
2023-05-05 17:23:11
61
原创 解决集合并发问题
我们用 Set<String> set = new HashSet<>();会线程多的话会产生并发修改。第一种:解决用Collections 集合工具类解决。第二种:JUC的方法。
2023-04-22 20:50:39
164
原创 Java中的集合
添加元素的时候是有序、可重复,有索引:是存储的顺序,和取出的顺序是一样的:存储可以重复存储相同的元素通过索引可以获取集合中的元素添加元素的时候是无序、不可重复,无索引Set集合中存储的顺序和获取顺序可能不想同的Set集合中不能存储相同的元素Set集合中是不可以通过索引来获取Set集合中的元素。
2023-04-06 22:45:23
207
原创 生产者与消费者的问题(线程的替换)
我们用到sychronized锁,this.wait()方法就是让该线程进入休眠状态,并释放自己的锁,this.notiflyAll()通知其他的线程进入锁状态。
2023-04-05 11:23:23
104
1
原创 java中的递归
2.在递归中虽然有条件的限制,但递归的次数是不能太多,否则也会发生栈内存的溢出的问题。3.间接递归,比如A方法调用B方法,B方法调用C方法,而C方法调用Af方法。1.递归一定要有条件限制,在条件下可以停止下来,否者会发生栈内存的溢出。1.递归分为两种,一种是直接递归一种是间接递归。解答:递归就是指在当前的方法内调用自己的现象。2.直接递归就是方法自身调用自己。3.构造方法必须静止递归。
2023-04-03 21:46:45
361
1
原创 java面试题
一、基础1. String类常用的方法都有哪些?(1)常见String类的获取功能length:获取字符串的长度。charAt(int index):获取指定索引位置的字符indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引;substring(int start):从指定位置开始截取字符串,默认到末尾;substring(int start,int end):从指定位置开始到指定位置结束截取字符串;(2)常见String类的判断功能。
2023-04-03 08:45:53
465
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人