- 博客(250)
- 资源 (76)
- 收藏
- 关注
原创 第03讲:SpringCloudStream实现分布式事务
本案例是通过一个发送短信验证码的功能来实验MQ发送消息时实现分布式事务,思路分析如下消息生产者生产发送验证码的半消息生产者执行本地事务(将验证码保存到数据库),并记录事务的ID,如果整个过程不出现异常,则提交事务,消息成功投递,否则进行事务的回滚操作MQ二次确认消息是否成功投递,如果没成功(发生了异常),则丢弃消息。
2023-05-16 13:29:35
976
1
原创 第02讲:SpringCloudStream
SpringCloudStream是SpringCloud的一个子项目,他提供了一套更加通用的操作MQ的解决方案。
2023-05-16 12:57:23
773
原创 第01讲:RocketMQ入门
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
2023-05-16 12:51:25
716
原创 第04讲:Eureka
1.1.3、application.yml1.1.4、启动类1.1.5、测试启动服务,浏览器访问http://localhost:7001/1.2.3、application.yml1.2.4、启动类1.2.5、测试启动微服务,刷新浏览器,发现已经成功将该客户端(微服务)注册到Eureka所谓Eureka集群其实就是多个Server相互注册,在application.yml配置文件的eureka.client.service-url.defaultZone属性中设置可以配合Ribbon
2023-05-04 13:44:17
548
原创 SpringBoot第 17 讲:SpringBoot+JWT
关于JWT的讲解请参考:SpringCloud第14讲:(番外篇)JWT没有登陆直接请求列表接口,系统会要求先进行登录登录成功后请求列表接口,可以正常响应数据添加redis、jwt坐标2.2、application.yml配置redis2.3、RedisConfig解决redisTemplate保存数据出现乱码问题2.4、实体层开发2.5、数据库访问层开发UserMapperArticleMapper2.6、控制层在登陆成功之后,生成token并保存到redis2.7、工具
2023-04-25 17:33:55
1010
原创 SpringBoot集成模板引擎Thymeleaf
1.all:删除包含标签和所有的孩子。2.body:不包含标记删除,但删除其所有的孩子。3.tag:包含标记的删除,但不删除它的孩子。4.all-but-first:删除所有包含标签的孩子,除了第一个。浏览器请求list路径,将跳转到templates/deptList.html页面(前缀是通过application.yml配置的),效果如下图,可以看到数据已经成功渲染到了HTML页面上。接上面的案例,添加thymeleaf导出静态页面的工具类。打开这个html文件,发现数据已经成功渲染。
2023-04-21 11:39:43
957
原创 第11讲:使用Redission分布式锁解决超卖问题
当宝贝库存接近0时,如果多个买家同时付款购买此宝贝,将会出现超卖现象。超卖现象本质上就是买到了比仓库中数量更多的宝贝。
2023-04-20 16:14:17
1201
原创 第10讲:Redis幂等性
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣了钱,流水记录也变成了两条,再或者新增用户表单注册时,用户反复提交表单.。按照这个含义,最终的含义就是产生『』(假定程序业务代码没问题),绝大部分就是发生了重复的请求,重复请求是指『接口的幂等性实际上就是『
2023-04-20 12:17:20
1706
1
原创 第12讲:ElementUI+Vue路由综合案例
本博文主要呈现一个NPM脚手架+Vue路由+ElementUI的综合案例,完成本案例需要有一定的Vue基础,请参考以下文章完成项目的构建第08讲:使用脚手架创建vue项目第09讲:路由开发第10讲:vue脚手架集成axios第11讲:vue脚手架集成ElementUI由于是前后端分离的项目,我们提前开发了一个供前端测试的后台项目,具体代码可以联系博主索取二、前端开发2.1、App.vue入口在入口中只需要添加一个router-view组件即可2.2、main.js在主控制文件main.j
2023-04-19 15:21:32
812
原创 第04讲:Linux常用命令
1.1、常用1.1.1、查看指定目录的文件信息命令(文件名):ls 文件路径命令(文件详情):ll 文件路径1.1.2、切换目录命令:cd 文件目录1.1.3、中止命令命令:ctrl+c1.1.4、退出命名:exit1.2、关机1.2.1、shutdown [选项] 时间1.2.2、选项1.2.2.1、取消前一个关机命令选项:-c1.2.2.2、关机选项:-h1.2.2.3、重启选项:-r1.2.3、示例1.2.3.1、晚上10点重启。
2023-04-10 08:30:48
659
1
原创 第09讲:Spring Data Redis(RedisTemplate)
Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。
2023-04-06 17:59:32
806
原创 第03讲:MinIO分布式文件服务器
Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能。何为对象存储?对象存储服务( Object Storage Service,OSS )是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。对于中小型企业,如果不选择存储上云,那么 Minio 是个不错的选择,麻雀虽小,五脏俱全。
2023-04-06 15:50:19
1879
原创 BootStrap4:栅格系统
可以通过添加一个新的 .row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内。Bootstrap4 总共有五个栅格等级,每个响应式分界点隔出一个等级。使用响应式的.offset-*栅格偏移方法。
2023-03-28 16:06:54
892
转载 HttpClient的使用
异常:sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target。后查询资料后发现可以设置信任所有证书,绕过验证服务端的证书状态下为具体代码,我使用的是GET请求,POST请求也可以使用。
2023-03-16 09:49:14
191
原创 分页插件:PageHelper+BootStrap+Vue+axios实现分页功能
本教程需要有MyBatisPlus基础,学习MyBatisPlus请参考。
2023-03-13 15:33:48
695
1
原创 SpringBoot第 16 讲:SpringBoot+Maven父子项目
创建一个SpringBoot父项目,只保留pom.xml,并导入工程中用到的所有依赖
2023-03-13 12:14:02
2936
原创 传统方式实现SpringMVC
1.1、添加Spring的配置文件beans.xml1.3、在web.xml中配置SpringMVC1.4、在web.xml中配置允许访问静态文件1.5、在webapp文件夹下添加demo01.html在\webapp\views\文件夹下创建demo01.html文件1.6、添加Controller1.6、浏览器访问测试在浏览器中访问controller,可以正常跳转到demo01.htmlpom.xml中添加fastjson依赖beans.xml中进行配置2.2、添加User实体
2023-03-13 11:46:04
270
原创 SpringBoot第 15 讲:SpringBoot之声明式事务
本案例需要使用MyBatisPlus支持,关于MyBatisPlus的学习请参考。
2023-03-13 11:11:58
156
原创 第08讲:Vue+axios
思路分析:数据库中的数据:使用vue请求servlet响应的数据效果:1.1.2、DAO层开发接口:实现类:1.1.3、controller层开发pom添加fastjson坐标创建Servlet1.1.4、测试1.2、开发前端vue1.2.1、使用axios请求Servlet在html中借助vue使用axios请求servlet1.2.2、运行效果将项目部署到tomcat中,浏览器访问html页面http://localhost:8080/demo01.html
2023-02-07 11:04:07
478
原创 第07讲:Vue初级
扩展上一个案例,如果用户输入的用户名是admin,密码是123则提示登录成功,否则弹出对话框提示登录失败,这里我们就需要给按钮绑定点击事件。我们通过v-on属性绑定事件,比如按钮点击事件可以用v-on:click表示。v-on可以用@来代替,所以按钮点击事件也可以用@click来表示。我们可以在html中使用v-for指令实现循环的功能。//将id为app的div的管理权交给vue对象。结合插值表达式的应用三元运算符实现性别的判断。
2023-02-07 11:00:25
201
原创 第06讲:JavaScript脚本语言
console . log("目标元素被点击了");});console . log("目标元素被点击了");});console . log("目标元素被点击了");});console . log("目标元素被点击了");});
2023-02-07 10:56:13
630
原创 第05讲:JSP
JSP(Java Server Pages)是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据。可以把JSP当做一个Servlet,处理客户端请求,JSP负责页面显示和数据提交。JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!EL负责显示数据,JSTL负责控制逻辑Session是一种保存上下文信息的机制,它针对每一个用户,在服务器端开辟一块存储空间来存入用户的会话状态,通过SessionId来区分不同的客户。
2023-02-07 10:52:53
329
原创 第03讲:BootStrap
Bootstrap,来自 Twitter,是一款受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。大家可以在github上下载:https://github.com/twbs/bootstrap/releases/download/v3.3.7/bootstrap-3.3.7-dist.zip要想使用BootStrap需要在页面上引用BootStrap的支持。bootstrap简介,控制大小,控制颜色,12栅格排版.bootst
2023-02-07 09:59:11
238
原创 第03讲:使用kubeadm搭建k8s单master集群方案
本实验使用1个master节点和2个node节点。硬件配置(必要):2GB 或更多 RAM,2 个 CPU 或更多 CPU,硬盘 30GB 或更多开始本实验之前请先按照进行实验前的准备工作。
2023-01-18 19:36:10
1382
原创 第02讲:使用kubeadm搭建k8s集群的准备工作
删除swap相关行 /mnt/swap swap swap defaults 0 0 这一行或者注释掉这一行。
2023-01-18 11:02:59
534
原创 第01讲:什么是kubernetes
kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源 的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的 应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。
2023-01-13 12:19:13
430
原创 第07讲:Docker部署Redis
由于我的CentOS本身就已经安装的redis,所以我可以通过redis的客户端进行测试,大家也可以使用其他redis客户端进行测试,只要可以连接到docker中的redis即可。在/usr/local/docker目录下创建redis目录用于存储redis数据信息。
2023-01-10 17:02:06
131
SpringBoot第 3 讲:SpringBoot集成MyBatis+SpringMVC
2021-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人