- 博客(7)
- 收藏
- 关注
原创 【Redis实现分布式锁】
充分的利用了Redis键值数据库提供的一系列优势,基于Java实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类。好比火车售票系统,我们将库存放入Redis 缓存中,大量并发同时访问redis,这时候如果不加锁,就会出现“超卖现象”-----卖多了实际没那么多票。在单体架构中是没有问题的,但是在集群项目中,就不管用了,因为多个进程访问一个外部共享资源。我们在火车上上厕所,同一时间只能有一个人进入厕所,其他人只能等候,等这个人用完了,其他人才能进去,这就是锁。UUID 是这个锁的值。
2023-12-15 14:53:01 52 1
原创 rabbitmq -- 发布确认整合springboot
confirm 模式最大的好处在于它是异步的,一旦发布一条消息,生产者应用程序就可以在等信道返回确认的同时继续发送下一条消息,当消息最终得到确认之后,生产者应用便可以通过回调方法来处理该确认消息,如果 RabbitMQ 因为自身内部错误导致消息丢失,就会发送一条 nack 消息, 生产者应用程序同样可以在回调方法中处理该 nack 消息。开启发布确认的方法:发布确认默认是没有开启的,如果要开启,需要调用方法 confirmSelect,每当你要想使用发布确认,都需要在 channel 上调用该方法。
2023-12-14 17:34:34 56 1
原创 rabbitmq第六中模式
查看插件是否安装成功 进入RabbitMQ的管理页面,进入Exchange的管理页面,新增Exchange,在Type里面可以看到x-delayed-message的选项,证明延迟队列插件安装成功。RabbitMQ官网下载插件的网址:https://www.rabbitmq.com/community-plugins.html。前往RabbitMQ官网下载往RabbitMQ添加延迟消息的插件。根据官网的指示把插件放到RabbitMQ指定的文件夹下。把这个插件传输到服务器上。
2023-12-14 17:23:00 30 1
原创 RabbitMQ 6种常用模式
Topic 模式是生产者通过交换机将消息存储到队列后,交换机根据绑定队列的 routing key 的值进行通配符匹配,如果匹配通过,消息将被存储到该队列,如果 routing key 的值匹配到了多个队列,消息将会被发送到多个队列;如果生产者将消息发送到没有绑定队列的交换机上,消息将丢失。Simple 模式是最简单的一个模式,由一个生产者,一个队列,一个消费者组成,生产者将消息通过交换机(此时,图中并没有交换机的概念,如不定义交换机,会使用默认的交换机)把消息存储到队列,消费者从队列中取出消息进行处理。
2023-12-14 17:09:07 120 1
原创 【Postgresql数据库行级锁】
该数据源类也继承了dpcb2 数据源类,扩展的主要功能是:在执行SQL语句之前,获取数据源 connection 连接对象之后,通过执行 SET 语句,把当前请求上下文的 tenanId 作为参数传给到PG数据库,例如: SET app.current_tenant = '888'针对一些特殊场景,不同的数据库表所使用的租户ID字段名称不一样,例如数据库表 table_A 使用的租户ID是 tenantId_a, 数据库表 table_B 使用的租户ID是 tenantId_b。
2023-12-14 16:06:34 225
原创 【两个来自不同数据源的分页信息,整合成新的分页信息】
filterDataSource 是参数----实际工程用到的 替换自己的参数。3、先显示数据源1的数据,不够一页用数据源2的数据补齐。2、分页大小一致:比如一页10条数据。pageVO 分页参数。前提:1、字段一致。
2023-12-14 12:18:59 365 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人