- 博客(23)
- 收藏
- 关注

原创 初学RabbitMQ(一)
应用场景: 异步处理 用户注册后,需要发送邮箱和手机验证码: 传统的需要一个步骤一个步骤的完成 使用消息队列后可以在发送邮箱的同时发送验证码应用解耦 将模块与模块之间的调用相互分离,不在是模块之间的直接调用流量削峰 场景:秒杀,抢购业务 因为流量过大,导致服务宕机,为解决这个问题,在前端加入消息队列 用户发起秒杀请求,将请求加入消息队列中,超过队列长度就抛弃,抛出秒杀失败页面。RabbitMQ和Kafka相比:RabbitMQ更可靠 ,相比
2022-01-26 22:37:58
1163
1
原创 基于SpringBoot+React的云存储系统(毕设、课设 新颖课题)
基于SpringBoot+React的云存储系统。支持暂停、继续上传。
2024-04-28 10:13:33
176
2
原创 docker高级
DockerFileDockerFile是什么?Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。镜像构建三大步: 编写DockerFile文件执行docker build 命令构建镜像docker run 运行容器。DockerFile构建过程解析Dockerfile内容基础知识每条保留字指令都必须为大写字母且后面要跟随至少一个参数指令按照从上到下,顺序执行#表示注释每条指令都会创建一个新的镜像层并对镜像进行提交
2022-05-03 17:31:40
1131
原创 docker的初步应用
Docker简介为什么要Docker 开发和运维的交互流程存在重大问题,通过Docker的镜像技术,打包开发运行代码的所有运行环境,将整个镜像交给运维上线,就不会出现交互流程出现问题,代码不能上线测试。一句话总结:解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。一次镜像,处处运行容器和虚拟机比较 传统虚拟机缺点:资源占用多,启动速度慢,冗余步骤多。 Linux容器化技术:将某一个软件运行所需要的全部资源打包到一个隔离的容器中。容器和虚拟机不同,
2022-04-26 21:58:00
1842
原创 JUC(一)
FutureTask的缺点线路阻塞。get()方法导致阻塞。(少用get方法或者get方法放在最后,或者get方法设置超时。)不要用阻塞,尽量用轮询替代,CompletableFuture增强了FutureTaskCompletableFuture常用方法1、获得结果和触发计算// 立马获取值getNow("如果能立马获取返回的参数")。 CompletableFuture.supplyAsync(()->{ try{
2022-02-27 17:33:37
240
原创 SpringSecurity
SpringSecurity学习目标SpringSecuritySpringSecurity简介安全框架概述什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。常用安全框架Spring Security:Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了
2022-02-21 01:28:55
3477
原创 JWT详解
4 JWT讲解4.1 需求分析我们之前已经搭建过了网关,使用网关在网关系统中比较适合进行权限校验。那么我们可以采用JWT的方式来实现鉴权校验。4.2 什么是JWTJSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。4.3 JWT的构成一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。头部(Header)头部用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等。这也可以被表示成一个JSON
2022-02-17 14:59:23
2334
原创 初学 Redis
1.Redis安装(要保证虚拟机能连接外网)下载地址:https://redis.io/download 一般下载稳定版(Stable)。1.1下载安装包 下载安装到 /usr/local/src 目录wget -P /usr/local/src https://download.redis.io/releases/redis-6.0.9.tar.gz如果没有wget 先安装wgetyum install -y wget1.2 解压Redistar -zxvf redi
2022-02-13 20:50:37
1172
原创 初学ES(三)
ES的JavaAPI(高级客户端)基于SringBoot2.2.2导入依赖<dependencies> <!---SpringBoot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dep
2022-02-10 23:23:02
1363
原创 初学RabbitMQ (三) 集群高可用
RabbitMQ集群rabbitmq有3种模式,但集群模式是2种。 详细如下: 单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。之前一直在用普通模式:默认模式,以两个节点(A、B)为例来进行说明当消息进入A节点的Queue后,consumer从B节点消费时,RabbitMQ会在A和B之间创建临 时通道进行消息传输,把A中的消息实体取出并经过通过交给B发送给consumer当A故障后,B就无法取到A节点中未消费的消息实体如果做了消息持久化,那么得等A节点恢复,然后
2022-01-29 21:11:47
3292
原创 初学RabbitMQ(二)
RabbitMQ发布订阅模式之路由模式 路由会根据类型定向发送给某个队列。将交换机的类型改为direct(定向) 交换机会根据路由key定向发送到队列中创建生产者public class Sender { public static void main(String[] args) throws IOException, TimeoutException { String msg= "你好,世界"; //获取连接 Con
2022-01-28 22:27:52
1698
原创 SpringBoot(图解)
SpringBoot源码剖析依赖管理 Spirng-boot-start-parent 问题: (1) 问么导入dependency时可以不用指定版本?在SpringBoot入门程序中引入的依赖中有个核心依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>
2022-01-25 21:56:07
1295
原创 SpringMVC初步使用整合Thymeleaf
第一节:SpringMVC简介SpringMVC是Spring为我们提供的简化Web开发的框架1.1 MVC体系结构 三层架构 我们的开发架构一般有两种 一种是C/S架构 就是客户端/服务器,一种是B/S架构 也就是浏览器/服务器,系统标准的三层架构分为表现层 、业务层、持久层 表现层 也就是我们常说的Web层,负责客户端的请求,响应客户端的结果 业务层 负责处理业务逻辑代码的 持久层 负责处理与数据库交互的1.2 Sprin
2022-01-24 18:20:07
2220
原创 合并K个升序链表(leetcode第23题)
非最优解classSolution{publicListNodemergeKLists(ListNode[]lists){//创建优先队列PriorityQueue<Integer>heap=newPriorityQueue();//遍历每一个链表 获取链表中的每一个值,加入优先队列 形成小根堆for(inti=0;i<lists.length;i++){...
2022-01-23 12:46:45
178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人