发量不减

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2023年2月23日

摘要: 1、使用RabbitMq实现延时队列方法1 2、基于我们的业务我们使用下面这种方式实现延时队列 1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</ 阅读全文
posted @ 2023-02-23 19:02 不是孩子了 阅读(47) 评论(0) 推荐(0) 编辑

摘要: 1、定时任务存在的问题 即任务过期时间为30min,任务在第31min过期,但是在第60分钟才被扫描到 2、延时队列 是先设置一个过期队列,里面消息过期后不会丢弃而是通过交换机放到另一个队列中。从这个队列中取出过期消息进行处理 一般我们使用队列过期时间实现延迟队列。 因为队列满足先进先出原则,后进来 阅读全文
posted @ 2023-02-23 17:36 不是孩子了 阅读(12) 评论(0) 推荐(0) 编辑

摘要: seata的AT模式不适合高并发的项目,因为它需要加锁来保证回滚。因此我们的订单服务方法中就尽量不能使用@GlobalTransactional来管理分布式事务。 因此在订单服务中,我们使用下面这种方法来通知库存服务 即通过消息队列来实现(给库存服务发送消息) 阅读全文
posted @ 2023-02-23 17:07 不是孩子了 阅读(54) 评论(0) 推荐(0) 编辑

摘要: https://seata.io/zh-cn/ seata使用Seata AT模式控制分布式事务的步骤: 1、每一个想控制分布式事务的服务对应的数据库都需要创建一个UNDO_LOG 表 CREATE TABLE `undo_log` ( `id` bigint(20) NOT NULL AUTO_I 阅读全文
posted @ 2023-02-23 16:46 不是孩子了 阅读(44) 评论(0) 推荐(0) 编辑