首页
学习
活动
专区
工具
TVP
发布

Devops专栏

专栏作者
868
文章
1476422
阅读量
44
订阅数
19-RabbitMQ应用问题-消息补偿
19-RabbitMQ应用问题-消息补偿 RabbitMQ应用问题 消息可靠性保障 消息补偿机制 消息幂等性保障 乐观锁解决方案 消息可靠性保障 需求:100%确保消息发送成功 消息可靠性保障--消息补偿 📷 Producer 1.业务数据入库DB,保证消息持久化 2.发送消息至消费队列Q1(中间有交换机就不写了) 3.延迟发送消息队列Q3(用于后续校验 2.发送的消息) Consumer 4.监听队列Q1:如果消费成功,则将消息执行结果写入DB 5.发送确认消息至队列Q2 回调检查服务 6.监听 Cons
Devops海洋的渔夫
2023-02-10
2920
16-RabbitMQ高级特性-延迟队列
16-RabbitMQ高级特性-延迟队列 延迟队列 延迟队列,即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。 需求: 下单后,30分钟未支付,取消订单,回滚库存。 新用户注册成功7天后,发送短信问候。 实现方式: 对于上面两种需求,一般有两种实现方式: 定时器 延迟队列 定时器:设置一个轮询时间,间隔一段时间对数据库进行扫描对比,当符合定时的数据则进行处理; 缺点: 不优雅,因为不管设置多少间隔时间,都会对数据库产生多次扫描的执行,影响性能; 而且间隔的时间范围对具体时间点存在一定的误差
Devops海洋的渔夫
2023-02-10
2650
12. JDBC事务的处理 以及 转账案例
上一章节,我已经写了一篇数据库事务的章节。篇幅比较长,基本让我们知道了数据库事务操作、隔离级别等等知识。那么本章节我们再简化一下内容,再快速过一下事务处理 和 转账案例,加深印象。
Devops海洋的渔夫
2022-01-17
2520
11. 数据库事务
当用户AA向用户BB转账,就需要执行两个SQL语句,一个是用户AA减少100,另一个是用户BB增加100,SQL如下:
Devops海洋的渔夫
2022-01-17
2300
10. 批量插入
上一章节,我们使用 PreparedStatement 操作了 BLOB 字段,下面我们再来看看批量插入的操作。
Devops海洋的渔夫
2022-01-17
1K0
9. 操作BLOB类型字段
在上一章节,我们使用PreparedStatement实现CRUD操作,那么在CRUD的操作中,对于一些特别的数据库字段操作,会有一些特别的处理。例如:BLOB类型的字段,常用来存储图片的二进制数据。
Devops海洋的渔夫
2022-01-17
2K0
8. 使用PreparedStatement实现CRUD操作
在上一篇章我们使用了 PreparedStatement 解决了 SQL 注入问题,那么再具体深入一下,我们来看看 PreparedStatement 如何实现 增删查改 的 操作。
Devops海洋的渔夫
2022-01-17
6070
7. 使用 preparedStatement 解决 SQL 注入问题
在上一章节中,我们使用 statement 执行 sql 完成了用户登录的小案例,但是在这个案例中也发现了 SQL 注入的问题。
Devops海洋的渔夫
2022-01-17
5920
6. 使用 JDBC 完成登录案例 以及 SQL 注入问题
在前面的章节中,我们已经学会了使用 statement 来执行数据库的 增删查改 的操作,并且封装一个 JDBC 工具类,实现了数据库连接获取,以及资源关闭的方法。
Devops海洋的渔夫
2022-01-17
3140
5. JDBC工具类的抽取 - 封装获取连接、关闭资源
在前面的篇章中,我使用了 Statement 完成 JDBC 增删改查,而且我们可以发现在代码中,存在代码重复的地方,例如:获取数据库连接、关闭资源。
Devops海洋的渔夫
2022-01-17
7340
4. 案例-使用 Statement 完成 JDBC 增删改查
在前面的章节中,我们已经懂得如何获取数据库连接 以及 单元测试,下面我们来使用 Statement 来实现 JDBC 的增删查改。
Devops海洋的渔夫
2022-01-17
4880
2. 获取数据库连接
在上一章节中,我们虽然认识了 JDBC 的基本概念,以及完整的执行入门示例。但是对于程序中的每个操作还是比较陌生的,所以在后续的篇章中,我再将其拆分,逐步进行讲解。
Devops海洋的渔夫
2022-01-17
1.3K0
10. MyBatis缓存
上一篇章我们已经了解了 MyBatis 加载策略,本篇章再来认识一下 MyBatis 缓存。
Devops海洋的渔夫
2022-01-17
2180
9. MyBatis加载策略
在上一篇中我们已经熟悉了 MyBatis 的嵌套查询,而嵌套查询是通过多个单表查询多次执行来实现的。
Devops海洋的渔夫
2022-01-17
3040
8. MyBatis嵌套查询 - 一对一 - 一对多
在上一篇中我们已经基本认识了 MyBatis 的多表查询了。那么 MyBatis 还有一个比较有意思的功能,就是 嵌套查询。 这个功能有些类似 SQL 的多表联合查询,但是又不是。下面我们来认识一下。
Devops海洋的渔夫
2022-01-17
1.7K0
7. MyBatis多表查询 - 一对一 - 一对多 - 多对多
在上面我们已经准备好了 sql 表结构,在 sql 中具有 一对一、一对多、多对多 三种关系。而如果在 mybatis 的角度来看,却只有 一对一、一对多 两种关系,这是为什么呢?
Devops海洋的渔夫
2022-01-17
2.8K0
6. Mybatis映射文件深入 - 新增数据后返回主键ID - 动态SQL - SQL片段
在前面的篇章中,我们已经认识了如何使用 resultMap标签 映射查询的结果集字段、多条件查询、模糊查询。
Devops海洋的渔夫
2022-01-17
9290
5. Mybatis 单表查询 - resultMap标签 - 多条件查询 - 模糊查询
在前面篇章中,我们编写查询的都是 select * from user 这样的查询,而查询的结果集字段名 都是对应 我们编写的实体类 User 相关属性名。所以我们设置返回的结果都是用 resultType 属性,如下:
Devops海洋的渔夫
2022-01-17
8780
4. 使用Mybatis完成增删改查操作
在前面的篇章中,我们通过入门案例 以及 Mybatis 核心配置文件的标签说明,已经大概了解了一下 Mybatis 的基础使用。
Devops海洋的渔夫
2022-01-17
9120
2. MyBatis入门案例
在Mybatis中一个会话相当于一次访问数据库的过程,一个会话对象类似于一个Connection连接对象。
Devops海洋的渔夫
2022-01-17
2690
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档