- 博客(7)
- 收藏
- 关注
原创 RocketMQ学习记录
消息队列允许应用程序异步地处理任务,比如用户下单后可以立即返回成功下单的通知,至于后面的库存更新,订单确认的操作可以作为异步任务发送到消息队列上。这意味着不必立即处理请求,而是可以将其放入队列中,然后由消费者在后台异步处理,从而提高系统的响应速度。如果消息队列在指定时间内没有收到ACK,它会认为消息未被成功消费,并可能重新将消息放入队列,以便其他消费者可以再次尝试消费。订单生成后创建一个定时消息,消息内容是订单号,到期后收到消息,根据订单号查询状态,如果已支付就什么都不做,如果未支付则设置订单为失效。
2024-05-08 14:46:50 341
原创 redis学习记录
使用数据库最大的问题是,数据库本质是IO操作,因此它耗时。于是有人想,把数据放入内存中,这样写入还是读取就都很快。Redis就是一款内存型数据库。Redis 数据库不像MySQL,它没有表结构,是非关系型数据库,它整体就像是一个Map。
2024-05-07 20:58:42 1451
原创 @Component组件内使用@Resource注解注入失败,使用时报错空指针异常
spring加载组件的顺序不同导致,注入@Resource对象时spring容器还没有创建这个对象。
2024-04-28 16:53:55 803
原创 分布式主键生成策略
1、中心化的select ··· for update 悲观锁。可以锁定一个变量,每次查询它后让它+1,这样,所有的服务都查这个表。搞一个全局的表让id自增,利用insert的id回显来拿到一个全局唯一的id。在redis上使用一个变量,利用分布式锁,让这个变量每一次使用都自增1,来获得全局唯一id。上述办法并发性太差。2、去中心化的生成一个uuid,但是uuid跨硬件有可能重复。硬件的编号:机房id+机器id+uuid。就可以保证全局唯一了。雪花算法:用一个long类型来表示这个id,
2024-04-28 16:19:26 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人